powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Перевод проекта с IBX на FireDAC
111 сообщений из 111, показаны все 5 страниц
Перевод проекта с IBX на FireDAC
    #40111303
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть большой проект на Delphi 2007 - больше 400 тысяч строк.

Весь проект построен главным образом на базе

TIBDatabase, TIBTransaction, TIBQuery, TDataSource, TDBGrid

(разумеется, есть еще много используемых компонентов - но это основное)



Проблема в IBX в том, что это устаревшее решение и медленно работает при подключении к базам данных через Интернет-соединение. Например, если ping между 2 компьютерами 20 миллисекунд - выполнением одного небольшого Select (даже возвращающего всего 1 запись) занимает около 80-100 миллисекунд (то есть в 4-5 раз дольше, чем обычный ping).

Другое дело в случае с правильно настроенным FireDAC. Время выполнения Select может быть 20-40 миллисекунд (то есть 1-2 обычных ping вместо 4-5). Соответственно, если всё приложение перевести с IBX на FireDAC - скорость его работы существенно возрастёт при подключении к базе данных через Интернет (где ping между компьютерами не 1-2 миллисекунды, как в локальной сети, а даже 20 мс считается хорошим).



Теперь остаётся вопрос в том - как перевести проект с IBX на FireDAC - чтобы программный код проект этого "почти не заметил"?

Как я понимаю, потребуется переопределить классы TIBDatabase, TIBTransaction, TIBQuery - чтобы они работали на базе FireDAC (используя классы TFDConnection TFDTransaction TFDQuery) и подключить переопределённые классы ко всем формам проекта - после подключения стандартных модулей IBX.

При обращении приложения - скажем, к TIBQuery.Open промежуточный класс должен образаться к TFDQuery и т. д. Еще в приложении для TIBQuery используется множество обработчиков событий AfterScroll, OnGetText и т. д. - они тоже должны перенаправляться на FireDAC. Чтобы не менять (или почти не менять) программный код приложения (там более 200 форм) - но чтобы при этом перевести его на FireDAC.



Есть ли какое-нибудь готовое решение для этого или идея бесперспективная? Занимался ли кто-нибудь подобным? Как лучше всего безболезненно перевести проект с IBX на FireDAC?
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111305
Сергей Фролов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87,

Переход на Firedac не поможет. Проблема в Firebird.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111308
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Фролов
Наталья87,

Переход на Firedac не поможет. Проблема в Firebird.


Если заново делать на базе FireDAC - работает всё значительно быстрее. Проблема в том, что переписывать код 400 форм это несколько месяцев работы. Потому и хочется какого-то решения - как перейти с IBX на FireDAC, не переписывая приложение.

Уходить с Firebird в планах нет, у каждой СУБД есть плюсы и минусы, Firebird не является какой-то особо плохой СУБД (минусы у Firebird есть - но например, у Firebird зато выдающаяся работа с транзакциями, это многоверсионник так что какая СУБД хуже какая лучше можно оставить за рамками данной темы).
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111309
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ФроловПроблема в Firebird.

Не совсем, но переход действительно не поможет. Аффтарше вообще ничего не поможет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111310
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87> Другое дело в случае с правильно настроенным FireDAC.

Вы уже пробовали протестировать на реальном
примере или это умозрительные рассуждения?

> Есть ли какое-нибудь готовое решение для этого

Вряд ли. У FireDAC был IIRC некий мигратор с BDE,
но сомневаюсь, что есть нечто подобное с IBX и т.п.

P.S. Сначала попробуйте различные решения, не
требующие изменения кода - ZeBeDee, VPN и пр.
Если не поможет - тогда думайте менее "активном"
взаимодействии клиента с сервером, bried-case и пр.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111312
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамP.S. Сначала попробуйте различные решения, не требующие изменения кода -
ZeBeDee, VPN и пр.

Мёртвому припарка. Протокол в Firebird 2.5 был оптимизирован под способ, которым
его использует IBX. В тройке добавили сжатие, что делает бесполезным ЗиБиДи.
Если даже с этим оно работает медленно - нужно рихтовать архитектуру, а у
аффтарши "400 тысяч строк". (Хотя мы-то помним, что большая часть из них это
хаки для стандартных компонент чтобы заставить их работать так как разработчикам
и в страшном сне не могло присниться.)
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111316
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам
Наталья87> Другое дело в случае с правильно настроенным FireDAC.
Вы уже пробовали протестировать на реальном
примере или это умозрительные рассуждения?


Именно на реальном примере. Всё работает действительно быстрее. Раза в два как минимум.
Причём из коробки. А с несчастным IBX можно применять множественные запросы в теле одного запроса, кэширования и прочие ухищрения - но все равно на FireDAC в итоге всё работает быстрее и лучше.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111318
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
(Хотя мы-то помним, что большая часть из них это
хаки для стандартных компонент чтобы заставить их работать так как разработчикам
и в страшном сне не могло присниться.)


Нет - бОльшая часть кода - это формы, построенные на базе TIBDatabase, TIBTransaction, TIBQuery, TDataSource, TDBGrid
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111320
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Гаджимурадов РустамP.S. Сначала попробуйте различные решения, не требующие изменения кода -
ZeBeDee, VPN и пр.

Мёртвому припарка. Протокол в Firebird 2.5 был оптимизирован под способ, которым
его использует IBX. В тройке добавили сжатие, что делает бесполезным ЗиБиДи.
Если даже с этим оно работает медленно - нужно рихтовать архитектуру, а у
аффтарши "400 тысяч строк". (Хотя мы-то помним, что большая часть из них это
хаки для стандартных компонент чтобы заставить их работать так как разработчикам
и в страшном сне не могло присниться.)

Имеет смысл перейти с Firebird 2.5 на Firebird 3.0? Ну так это в планах. Но задачу, описанную в рамках данной темы - всё равно придётся решать. Чтобы с IBX перейти на FireDAC.

Неужели разработчики FireDAC не предусмотрели каких нибудь оберток для перехода со старого кода? IBX по сути не такой уж сложный чтобы его как надо обернуть ... может, на GitHub что-нибудь для этого есть?
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111324
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87> Именно на реальном примере. Всё работает
Наталья87> действительно быстрее. Раза в два как минимум.

Что ж, удачи в переезде. Сообщите о результатах, ради интереса.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111326
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87> бОльшая часть кода - это формы, построенные
Наталья87> на базе TIBDatabase, TIBTransaction, TIBQuery

Формы не строят "на базе DB-компонент".
Коннект у вас один, надеюсь, или тоже у
каждой формы свой?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111327
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам
Наталья87> Именно на реальном примере. Всё работает
Наталья87> действительно быстрее. Раза в два как минимум.

Что ж, удачи в переезде. Сообщите о результатах, ради интереса.


Так переезд не получается. Нужны обертки-переходники классов для IBX чтобы они работали на базе FireDAC. Неужели только вариант самостоятельно писать?

Понятно что если писать с нуля то надо использовать Firebird 3.0 и FireDAC, но уже используется Firebird 2.5 и IBX ...
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111328
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87> Неужели разработчики FireDAC не предусмотрели
Наталья87> каких нибудь оберток для перехода со старого кода?

Разработчик FireDAC сюда заглядывает, может
прокомментирует... Но вообще да, недоработка,
должна быть и обёртка для перехода, и обёртка
для оптимизации, и обёртка для сделать хорошо. :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111329
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам
Наталья87> бОльшая часть кода - это формы, построенные
Наталья87> на базе TIBDatabase, TIBTransaction, TIBQuery

Формы не строят "на базе DB-компонент".
Коннект у вас один, надеюсь, или тоже у
каждой формы свой?


Коннект один - TIBDatabase. Как и положено, не в обычной форме, а в DataModule.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111332
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам
Наталья87> Другое дело в случае с правильно настроенным FireDAC.
Сначала попробуйте различные решения, не
требующие изменения кода - ZeBeDee, VPN и пр.
Если не поможет - тогда думайте менее "активном"
взаимодействии клиента с сервером, bried-case и пр.


Все, что можно было сделать в этом направлении - уже сделано. IBX уже "хакнутый". Но все равно так быстро, как FireDAC, не работает ...
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111333
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87> Нужны обертки-переходники классов для
Наталья87> IBX чтобы они работали на базе FireDAC.

Как Вы себе это представляете? Чтобы Вы в коде
вызывали свойства/методы классов IBX, а они -
невидимо и самостоятельно - "заменялись" на
методы/свойства FireDAC? Или как?

Ну, мне так, для себя ... (с) КВН
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111335
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87> IBX уже "хакнутый". Но все равно так быстро, как FireDAC, не работает ...

В топик призывается МП.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111336
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ReplaceStr('TIB', 'TFD', [ReplaceAll])
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111339
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам

Как Вы себе это представляете? Чтобы Вы в коде
вызывали свойства/методы классов IBX, а они -
невидимо и самостоятельно - "заменялись" на
методы/свойства FireDAC? Или как?


Да - именно так. Написать модуль - наследники классов IBX, чтобы они использовали FireDAC.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111340
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fr0sT-Brutal
ReplaceStr('TIB', 'TFD', [ReplaceAll])


Я полагаю, может сработать. Но по сложности и подводным камням будет сопоставимо с переходом с D2007 на D XE8.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111341
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87Нужны обертки-переходники классов для IBX чтобы они работали на базе FireDAC.

Не нужны. Просто кладёте TFDConnection рядом с TIBConnection, одной строчкой
кода шарите им хэндл, а потом не торопясь постепенно заменяете компоненты на
формах по одной. Это будет быстрее и надёжнее, чем любый ваши самописные обёртки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111342
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Наталья87Нужны обертки-переходники классов для IBX чтобы они работали на базе FireDAC.

Не нужны. Просто кладёте TFDConnection рядом с TIBConnection, одной строчкой
кода шарите им хэндл, а потом не торопясь постепенно заменяете компоненты на
формах по одной. Это будет быстрее и надёжнее, чем любый ваши самописные обёртки.


Я полагаю, вручную на 2-3 формах заменить, понять, что именно менять нужно, а потом написать скрипт на AutoIt чтобы заменил на остальных формах по такому же принципу. Может, так и сделаю ...
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111346
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
Я полагаю, вручную на 2-3 формах заменить
На каких 2-3 формах заменить, если
Наталья87
Коннект один - TIBDatabase. Как и положено, не в обычной форме, а в DataModule.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111348
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87Я полагаю, вручную на 2-3 формах заменить, понять, что именно менять нужно, а
потом написать скрипт на AutoIt чтобы заменил на остальных формах по такому же
принципу.

Нет. Не пытайтесь умничать и отвлекаться. Ручками. Поэтапно. Каждую форму
индивидуально с тестированием после каждой. Иначе времени потратите больше на
отлов глюков, которые полезут везде и сразу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111352
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Наталья87Я полагаю, вручную на 2-3 формах заменить, понять, что именно менять нужно, а
потом написать скрипт на AutoIt чтобы заменил на остальных формах по такому же
принципу.

Нет. Не пытайтесь умничать и отвлекаться. Ручками. Поэтапно. Каждую форму
индивидуально с тестированием после каждой. Иначе времени потратите больше на
отлов глюков, которые полезут везде и сразу.


Страшно подумать. Это же жуть, столько ручной работы в век автоматизации. Хочется автоматизировать и написать обёртку ...
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111358
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87Хочется автоматизировать и написать обёртку ...

Понятно что хочется, но эти порывы надо давить в зародыше. Ибо времени уйдёт
больше, а результат будет хуже.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111367
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DS> Ибо времени уйдёт больше, а результат будет хуже.

+1

Заодно и отрефакторите старый проект -
наверняка, там много можно сделать лучше.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111370
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Наталья87Хочется автоматизировать и написать обёртку ...

Понятно что хочется, но эти порывы надо давить в зародыше. Ибо времени уйдёт
больше, а результат будет хуже.


Вы шутите. Это нереально. Работы на год и тогда уже под вопросом смысл перехода на этот FireDAC ...
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111372
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87Вы шутите. Это нереально. Работы на год и тогда уже под вопросом смысл перехода
на этот FireDAC ...

Я не шучу. Это реальнее, чем любая другая из Ваших идей. Повторяю медленно:
переход идёт по одной форме, его скорость не важна, у вас в любой момент
полностью рабочий проект
. С системой контроля версий была бы ещё и гарантия
быстрого отката конкретной проблемы, но да, я помню, что Вы ниасилили эту концепцию.

И да, переход на FireDAC возможен только ПОСЛЕ перехода на новую версию дельфи,
так что непонятно почему Вы вообще этим озаботились уже сейчас.

PS: Вашу накопившуюся гору костылей надо разбирать медленно и очень осторожно. Иначе она обрушится и похоронит Вас.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111393
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
Работы на год и тогда уже под вопросом смысл перехода на этот FireDAC ...
Так смысла и нет никакого.
То, что на FD гриды быстрее отображаются - ложь, не поверю никогда.
Если где и может быть быстрее - это где получается одна запись. Возможно, там для этого используется TIBQuery, а надо заменить на TIBSQL. Да и то - не факт, что поможет.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111398
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наталья87
Гаджимурадов Рустам
Наталья87> Другое дело в случае с правильно настроенным FireDAC.
Вы уже пробовали протестировать на реальном
примере или это умозрительные рассуждения?


Именно на реальном примере. Всё работает действительно быстрее. Раза в два как минимум.
Причём из коробки. А с несчастным IBX можно применять множественные запросы в теле одного запроса, кэширования и прочие ухищрения - но все равно на FireDAC в итоге всё работает быстрее и лучше.

Наверняка, такая разница из-за какой-нибудь глупости, типа включенного/выключенного автокоммита или кэширования препарированных запросов.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111404
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Вашу накопившуюся гору костылей надо разбирать медленно и очень осторожно. Иначе она обрушится и похоронит Вас.


Как сложно было переносить костыли на XE-8 вы даже не представляете. Хотя часть костылей после перехода на XE-8 (а точнее в данный момент - при компиляции проекта на XE-8) стала не нужна.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111407
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock
Наталья87
Работы на год и тогда уже под вопросом смысл перехода на этот FireDAC ...
Так смысла и нет никакого.
То, что на FD гриды быстрее отображаются - ложь, не поверю никогда.
Если где и может быть быстрее - это где получается одна запись. Возможно, там для этого используется TIBQuery, а надо заменить на TIBSQL. Да и то - не факт, что поможет.


Да - используется TIBQuery вместо TIBSQL. Насчет того, что быстрее отображаются гриды - возможно, показалось.

А если не быстрее - зачем тогда он нужен вообще этот FireDAC (если он не быстрее IBX)?
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111410
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

И да, переход на FireDAC возможен только ПОСЛЕ перехода на новую версию дельфи,
так что непонятно почему Вы вообще этим озаботились уже сейчас.


Вы не поверите. Но хотелось написать класс-обертку, скомпилировать проект на XE-8 с FireDAC, но сохранить возможность работы на IBX (типа чтобы можно было переключать режим IBX/FireDAC). И пока еще несколько месяцев посидеть покодить на Delphi 2007.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111412
Michael Longneck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я с BDE переходил на FireDac. Утилита "конвертации" это по большому счёту "replace in files". С некоторой немалой вероятностью в вашем коде ничего такого нет, чтобы его нельзя было перенести автозаменами и поправить руками оставшееся. Поскольку я перешёл именно так, за исключением написания своего TTable "идентичного натуральному BDE по багам". А в моём проекте 1000+ форм только.
Но могу ошибаться конечно.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111420
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Michael Longneck
Я с BDE переходил на FireDac. Утилита "конвертации" это по большому счёту "replace in files". С некоторой немалой вероятностью в вашем коде ничего такого нет, чтобы его нельзя было перенести автозаменами и поправить руками оставшееся. Поскольку я перешёл именно так, за исключением написания своего TTable "идентичного натуральному BDE по багам". А в моём проекте 1000+ форм только.
Но могу ошибаться конечно.


Мне кажется тоже, что ничего страшного нет. После перехода на XE-8. Написать replace-patch на AutoIt и смотреть баги - которые будут при компиляции. Потихоньку совершенствовать патч - чтобы в итоге постепенно убрать все баги. И все это время иметь рабочий проект. И периодически собирать FireDAC-версию проекта, отправляя некоторым заказчикам (а если скажут что все сломалось - отправлять основную рабочую версию и решать проблемы, исправляя ошибки ).

Кстати, для перехода на XE-8 у меня такой же replace-patch. Например, string меняется на AnsiString, char на AnsiChar и прочее. И версия для XE-8 значительно отличается от исходной и собирается уже только на XE-8. Так что не уверена даже, что системы контроля версий при таком подходе чем-то помогли - ведь СКВ - это же не серебряная пуля.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111428
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87,

хотите я вам всё спалю?
Так вот - а что вы будете делать, если FireDAC не будет поддерживать расширений Firebird 4.0 по типам данных?
Опять рефакторить с FireDAC на модифицированную версию FIBPlus ?

Пока, до идеи перенести свой проект на Firebird 4.0, я не вижу никакого смысла менять IBX на FireDAC.
Да и то, надо посмотреть, какие именно компоненты (FIBPLus, FireDAC, или еще кто) будут первыми доточены до типов данных FB 4. Пока вроде никакие.

p.s. и еще каверзный вопрос - у вас Delphi Enterprise? т.к. разрешение на нелокальный клиент-сервер есть только в Enterprise, а Prof разрешается использовать только "локально", т.е. приложение и ФБ/ИБ на одном компе.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111432
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Да и то, надо посмотреть, какие именно компоненты (FIBPLus, FireDAC, или еще кто) будут первыми доточены до типов данных FB 4.
Почему-то мне кажется, что первыми сделают таки коммерческий FireDAC. Хотя возможно я наивен. И сразу вопрос - BOOLEAN в FireDAC поддержали?

kdv
разрешение на нелокальный клиент-сервер есть только в Enterprise,
Поправь меня если ошибаюсь, но вроде это не относится к IBX (а если относится, то как это проверяется? Просто под честное слово?). FireDAC в Prof отсутствует. А если докупить его отдельно, то там такого ограничения не будет.

Я сейчас большую глупость сказал?
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111436
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87Как сложно было переносить костыли на XE-8 вы даже не представляете.

Вы на это растратили год, так что да, представляю. И именно поэтому говорю, что
избавиться от них было бы проще и быстрее, чем переносить.

Наталья87Вы не поверите. Но хотелось написать класс-обертку, скомпилировать проект на
XE-8 с FireDAC, но сохранить возможность работы на IBX (типа чтобы можно было
переключать режим IBX/FireDAC).

Поверю. Это вполне типичная для Вас линия: тратить время и силы на бесполезные
обёртки и костыли вместо методичного и вдумчивого рефакторинга.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111443
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_но вроде это не относится к IBX (а если относится, то как это проверяется?
это формальное, но лицензионное ограничение к версии Professional.
Обсуждалось тут уже не раз, и читается элементарно в русскоязычном лицензионном соглашении на Дельфи, которое
лежит в корне установки уже давным-давно.
Да, НЕ проверяется. Но сетевое использование для prof - запрещено. Localhost - можно. А не localhost - уже нельзя, только Ent.

https://www.embarcadero.com/ru/products/delphi/product-editions
Prof - FireDAC для доступа к локальным / встроенным базам данных, включая локальные Microsoft Access SQLite, Interbase ToGo, IBLite, сервер InterBase на localhost, и встроенные: MySQL Embedded, сервер MySQL на localhost, локальный сервер Advantage Database, PostgreSQL на localhost, Firebird Embedded, и Firebird на localhost.

Ent - FireDAC обеспечивает клиент-серверное многопользовательское соединение с широким спектром поддерживаемых баз данных разных СУБД, включая InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix, DataSnap и многие другие.


p.s. ребята, активное обсуждение лицензионных соглашений началось в начале 2000, как минимум, массовое и публичное, если не в конце 90х.
Казалось бы, за 20 лет программисты должны научиться во избежание всякого читать лицензионные сообщения к софту, который они используют. Но нет, не заглядывают ни в папку установки дельфей, ни смотрят в описания софта на сайте производителя, и т.д.
Кошмар-кошмар...
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111445
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DS> тратить время и силы на бесполезные обёртки и костыли

Ну это для кого бесполезные, а для кого очень даже полезные.
Люди сидят, работают, что-то делают, копошатся, зарплату
получают и могут ещё год-другой продолжать так копошиться...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111446
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_А если докупить его отдельно
уже года три как (минимум, я не помню) "клиент-серверная" лицензия FireDAC не продается отдельно, и входит только в Enterprise.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111447
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> Кошмар-кошмар...

Ты как будто в Англии живёшь...
Кому нафиг сдалось, что там в
этом файлике написано? Никому.
И правильно не читают.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111448
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамЛюди сидят, работают, что-то делают, копошатся, зарплату
получают и могут ещё год-другой продолжать так копошиться...
ты не поверишь, бывает что вообще ничего не делают, и получают зарплату, годами.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111449
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамТы как будто в Англии живёшь...
сейчас уже всё равно, что в Англии, что в РФ, что на Кубе, или в Бразилии. Все сидят в интернете, а там без разницы, влияет только часовой пояс. :-)
Гаджимурадов РустамКому нафиг сдалось, что там в
этом файлике написано? Никому.
И правильно не читают.
Ну, во-первых, в РФ есть 4я часть ГК. Во-вторых, иностранные компании присутствуют в РФ. В третьих, российские разработчики могут продавать свой софт за рубеж.
Ок, как хотите, не читайте дальше.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111455
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> есть 4я часть ГК. Во-вторых, иностранные компании
kdv> присутствуют в РФ. В третьих, российские разработчики
kdv> могут продавать свой софт за рубеж.

Всем пофиг. И правильно.

Ладно, закрыли оффтопик.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111501
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По опыту переноса IBX > UniDAC > FireDAC достаточно больших, миллионнострочных, проектов. Не всё так печально как кажется. Я делал фаром. Переименование + разегребание ошибок компиляции.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111524
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
Гаджимурадов РустамЛюди сидят, работают, что-то делают, копошатся, зарплату
получают и могут ещё год-другой продолжать так копошиться...

ты не поверишь, бывает что вообще ничего не делают, и получают зарплату, годами.
Вот... не надо. Лишнего болтать.
Прямо уж и годами.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111531
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
А если не быстрее - зачем тогда он нужен вообще этот FireDAC (если он не быстрее IBX)?
Для мульти-СУБД-разработки, зачем же еще. Он поддерживает не только Firebird.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111535
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock
Наталья87
А если не быстрее - зачем тогда он нужен вообще этот FireDAC (если он не быстрее IBX)?
Для мульти-СУБД-разработки, зачем же еще. Он поддерживает не только Firebird.

Зато ibx/fib+ умеют сервисные вещи делать. Бэкапы-ресторы, валидацию т .д.
А FireDAC не умеет. Ну, раньше не умел. Сейчас, возможно, уже умеет.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111551
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock
Наталья87
А если не быстрее - зачем тогда он нужен вообще этот FireDAC (если он не быстрее IBX)?
Для мульти-СУБД-разработки, зачем же еще. Он поддерживает не только Firebird.


Понятно. Значит, ради ускорения на него переходить не стоит.

А от Firebird мне трудно отказаться будет. У меня такой код, что открывает транзакции, которые долго висят - например, в ожидании диалогов пользователя. Очень удобно. Firebird многоверсионник легко такое переваривает. А какой-нибудь MySQL может хоть и лучше в целом но с этим конкретно у него дела хуже.

В Firebird конкретно вижу минус один - в том, что Firebird-хостингов мало, куда можно базу залить, а с MySQL - полнО. А для Firebird нужно покупать VPS (пусть даже линуксовый VPS, но все равно дороже обычного хостинга c MySQL).
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111553
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
Наталья87,
Пока, до идеи перенести свой проект на Firebird 4.0, я не вижу никакого смысла менять IBX на FireDAC.


Понятно. Поменяю для начала IBQuery на IBX где это возможно. Это малой кровью можно сделать. FireDAC как выяснилось не для скорости нужен как я думала изначально и уж трат ить месяцы чтобы перейти на него наверное не стоит ...
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111567
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87

Понятно. Поменяю для начала IBQuery на IBX где это возможно ...

O tempora, o mores!!

P.S. И где только работодатели берут таких, талантливых?
Вот ваш покорный слуга, к примеру, уже два года как не может работу по профилю найти,
Смешно сказать, пришлось с мая на бейсик с акцессом перейти.
Увы нам.((
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111604
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
Есть большой проект на Delphi 2007 - больше 400 тысяч строк.

Весь проект построен главным образом на базе

TIBDatabase, TIBTransaction, TIBQuery, TDataSource, TDBGrid

(разумеется, есть еще много используемых компонентов - но это основное)

Проблема в IBX в том, что это устаревшее решение и медленно работает при подключении к базам данных через Интернет-соединение. Например, если ping между 2 компьютерами 20 миллисекунд - выполнением одного небольшого Select (даже возвращающего всего 1 запись) занимает около 80-100 миллисекунд (то есть в 4-5 раз дольше, чем обычный ping).

Другое дело в случае с правильно настроенным FireDAC. Время выполнения Select может быть 20-40 миллисекунд (то есть 1-2 обычных ping вместо 4-5). Соответственно, если всё приложение перевести с IBX на FireDAC - скорость его работы существенно возрастёт при подключении к базе данных через Интернет (где ping между компьютерами не 1-2 миллисекунды, как в локальной сети, а даже 20 мс считается хорошим).

Теперь остаётся вопрос в том - как перевести проект с IBX на FireDAC - чтобы программный код проект этого "почти не заметил"?

Как я понимаю, потребуется переопределить классы TIBDatabase, TIBTransaction, TIBQuery - чтобы они работали на базе FireDAC (используя классы TFDConnection TFDTransaction TFDQuery) и подключить переопределённые классы ко всем формам проекта - после подключения стандартных модулей IBX.

При обращении приложения - скажем, к TIBQuery.Open промежуточный класс должен образаться к TFDQuery и т. д. Еще в приложении для TIBQuery используется множество обработчиков событий AfterScroll, OnGetText и т. д. - они тоже должны перенаправляться на FireDAC. Чтобы не менять (или почти не менять) программный код приложения (там более 200 форм) - но чтобы при этом перевести его на FireDAC.

Есть ли какое-нибудь готовое решение для этого или идея бесперспективная? Занимался ли кто-нибудь подобным? Как лучше всего безболезненно перевести проект с IBX на FireDAC?


Переход на другую библиотеку компонентов не поможет. Максимум позволит увеличить производительность в пару раз. На практике эту будет выглядеть так. Сейчас пользователь жмёт кнопку и ждёт 5 минут реакции от программы (программа, к примеру, выполняет построчную обработку записей из таблицы, состоящей из 10000 записей, для каждой записи выполняется отдельный запрос к БД). После перехода на другую библиотеку время сократится до 2.5 минут. Но это всё равно недопустимо долго! За это время оператор пять раз успеет компьютер отресетить.
Варианты решения проблемы:
1) работать в режиме RDP. С этом случае на терминалом сервере Windows может быть запущено множество экземпляров программы под учётными записями пользователей. Базу данных можно разместить на том же либо на соседнем сервере. Проблемы с подключением оборудования (и пробросом его на рабочие места операторов) так или иначе решаются.
2) вводить дополнительный сервер, общаться с ним, например с помощью rest-запросов (например, с передачей json-пакетов). В одном rest-запросе можно запросить сразу несколько таблиц. Использовать для наиболее критических участков программы.
3) переделывать наиболее критические участки (циклическая обработка большого количества записей таблицы) на хранимые процедуры либо EXETUTE BLOCK
4) выполнять длительный код в дополнительном потоке, при этом пользователю можно вешать модальное окно с сообщением "подождите пару секунд..." и какой-нибудь анимацией. Быстрее оно от этого работать не будет, но хотя бы не будут зависать окна программы.
5) кэшировать справочники в памяти программы, периодически читая последние изменения из БД.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111605
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DmSer,

ты предлагаешь переработать архитектуру здания тому, кто просит совета в выборе клея для обоев?
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111610
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer

Переход на другую библиотеку компонентов не поможет. Максимум позволит увеличить производительность в пару раз. <...>

В пару раз? При переводе с IBX на FireDAC? Во так просто заменой библиотеки (сам то пробовал) ?
Show must go on. ))
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111611
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Vlad F#22395387]
Наталья87

P.S. И где только работодатели берут таких, талантливых?
Вот ваш покорный слуга, к примеру, уже два года как не может работу по профилю найти,
Смешно сказать, пришлось с мая на бейсик с акцессом перейти.
Увы нам.((


Думаю, разница в зарплате все объясняет.
Может, вы к нам на 40 тысяч в месяц работать пойдете программистом? Неплохая зарплата в целом но для IT как я понимаю это копейки ...
Хочется больше, но что то голова не варит совсем. Только на написание такого кода как есть хватает ...
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111616
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87,

Не, на 40 тысяч, - решительно не пойду. У меня уже здоровье не на столько крепкое.
И, снова, маленькие дети.

P.S. Вот, разве что, консультантом.))
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111654
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F> Вот ваш покорный слуга, к примеру, уже два
Vlad F> года как не может работу по профилю найти

Ты вроде как переезжал для этого, с прицелом на Магнит IIRC?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111655
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87> У меня такой код, что открывает транзакции,
Наталья87> которые долго висят - например, в ожидании
Наталья87> диалогов пользователя. Очень удобно.

Вам может и удобно, а в многопользовательской среде
это неправильно. Правильнее делать короткие транзакции
"когда нужно" - т.е. при закрытии диалогового окна, а не
перед его открытием. Изучайте инструменты, которые
пользуете, знания сами собой не нарисуются...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111660
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
Гаджимурадов Рустам
Наталья87> Другое дело в случае с правильно настроенным FireDAC.
Вы уже пробовали протестировать на реальном
примере или это умозрительные рассуждения?


Именно на реальном примере. Всё работает действительно быстрее. Раза в два как минимум.
Причём из коробки. А с несчастным IBX можно применять множественные запросы в теле одного запроса, кэширования и прочие ухищрения - но все равно на FireDAC в итоге всё работает быстрее и лучше.
Не могли бы вы привести код этих двух примеров?
Хочется тоже поковыряться в этом - мы тоже используем Firebird+IBX
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111689
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87Хочется больше, но что то голова не варит совсем.

Вот поэтому-то к старости человек и приучается не делать всё разом, а разбивать
работу на маленькие части. Желательно изолированные друг от друга, чтобы ошибка
в одной части не обрушила всё. Переводите по одной форме за раз. И
научитесь-таки пользоваться СКВ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111697
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Так вот - а что вы будете делать, если FireDAC не будет поддерживать расширений Firebird 4.0 по типам данных?

Надо будет установить RAD Studio 11 Update 1, когда он выйдет :)
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111699
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Зато ibx/fib+ умеют сервисные вещи делать. Бэкапы-ресторы, валидацию т .д.
А FireDAC не умеет. Ну, раньше не умел. Сейчас, возможно, уже умеет.

Эксперт, RTFM !
https://docwiki.embarcadero.com/Libraries/Alexandria/en/FireDAC.Phys.IBBase
https://docwiki.embarcadero.com/Libraries/Alexandria/en/FireDAC.Phys.FB
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111707
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitry Arefiev,

Крутяк! :)
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111800
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам

Вам может и удобно, а в многопользовательской среде
это неправильно. Правильнее делать короткие транзакции
"когда нужно" - т.е. при закрытии диалогового окна, а не
перед его открытием. Изучайте инструменты, которые
пользуете, знания сами собой не нарисуются...


У меня больше 3-х пользователей одновременно к базе практически не бывает. Генераторы легко решают проблемы конфликтов одновременного доступа. Держать транзакцию открытой просто удобно - программный код становится проще. Благо Firebird это позволяет - причём позволяет гораздо в большей степени чем какая либо другая СУБД, раз уж сделан выбор в пользу этой многоверсионной СУБД не вижу смысла не пользоваться её преимуществами.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111801
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cobalt747
Не могли бы вы привести код этих двух примеров?
Хочется тоже поковыряться в этом - мы тоже используем Firebird+IBX


А нет уже этого кода. Эксперименты делались в 2017 году. За это время уже и комп поменялся, мусор и разные временные куски кода небыло смысла переносить.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111803
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DmSer

Варианты решения проблемы:
1) работать в режиме RDP. С этом случае на терминалом сервере Windows может быть запущено множество экземпляров программы под учётными записями пользователей. Базу данных можно разместить на том же либо на соседнем сервере. Проблемы с подключением оборудования (и пробросом его на рабочие места операторов) так или иначе решаются.
2) вводить дополнительный сервер, общаться с ним, например с помощью rest-запросов (например, с передачей json-пакетов). В одном rest-запросе можно запросить сразу несколько таблиц. Использовать для наиболее критических участков программы.
3) переделывать наиболее критические участки (циклическая обработка большого количества записей таблицы) на хранимые процедуры либо EXETUTE BLOCK
5) кэшировать справочники в памяти программы, периодически читая последние изменения из БД.


Это уже было частично сделано. Но всё равно тормозит. И всё это разное кэширование и код программы очень сильно усложняет и багов добавляет. Вариант рабочий разве что с RDP.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111807
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
Гаджимурадов Рустам

Вам может и удобно, а в многопользовательской среде
это неправильно. Правильнее делать короткие транзакции
"когда нужно" - т.е. при закрытии диалогового окна, а не
перед его открытием. Изучайте инструменты, которые
пользуете, знания сами собой не нарисуются...


У меня больше 3-х пользователей одновременно к базе практически не бывает. Генераторы легко решают проблемы конфликтов одновременного доступа. Держать транзакцию открытой просто удобно - программный код становится проще. Благо Firebird это позволяет - причём позволяет гораздо в большей степени чем какая либо другая СУБД, раз уж сделан выбор в пользу этой многоверсионной СУБД не вижу смысла не пользоваться её преимуществами.
Плюс версионника - отнюдь не в возможности держать долгие транзакции, а в отсутствии блокировок при SELECT (и то есть нюансы).
А если транзакции будут долго висеть - то главная проблема, которая возникнет - будут накапливаться именно эти самые версии, и в итоге база обязательно станет колом.
При чем это случится даже если у вас 1 пользователь.
Есть в FB лазейка для "открытых подолгу гридов" - read only read commited транзакции. Именно read only. Но даже так - это плохо и проблемы будут возможны - как минимум, это издевательство над сервером.
Но если у вас пишущие транзакции висят - то крах вообще неминуем.

Вом не зря дали совет почитать об инструменте, который используете.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111815
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
крах вообще неминуем.


Ну запугал, так запугал.))
Так понимаю, что там многолетние агиевы конюшни, но краха пока нет как нет.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111816
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
Cobalt747
Не могли бы вы привести код этих двух примеров?
Хочется тоже поковыряться в этом - мы тоже используем Firebird+IBX

А нет уже этого кода. Эксперименты делались в 2017 году. За это время уже и комп поменялся, мусор и разные временные куски кода небыло смысла переносить.

Наталья, имхо, тогда была допущена существенная ошибка в экспериментах. К чему народ и пытается вас аккуратно подвести.
Не может FireDAC работать с FB быстрее IBX. Его преимущества в другом.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111841
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F
Так понимаю, что там многолетние агиевы конюшни, но краха пока нет как нет.
Ну значит одно из двух:
1. Транзакции таки ридонли
2. Настроено что-то вроде еженощного бэкап-рестора базы.

В других случаях не вижу, как такая база может прожить больше нескольких дней. Если отключить sweep-интервал - месяцев.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111842
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

При отсутствии конкурирующих транзакций, запускаемых вслед за текущей активной, длительность ее активности не играет никакой деструктивной роли.))
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111851
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vlad F

Не может FireDAC работать с FB быстрее IBX. Его преимущества в другом.


Я уже все поняла. Не буду переходить с IBX на FireDAC, оно того не стоит. Тем более по методу от Dimitry Sibiryakov. Лучше не тратить на это время, а сам проект развивать, там непаханое поле.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111854
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock
Vlad F
Так понимаю, что там многолетние агиевы конюшни, но краха пока нет как нет.
Ну значит одно из двух:
1. Транзакции таки ридонли
2. Настроено что-то вроде еженощного бэкап-рестора базы.

В других случаях не вижу, как такая база может прожить больше нескольких дней. Если отключить sweep-интервал - месяцев.


Нормально всё живёт годами. Вы наверное про какие то высоконагруженные системы. С моими базами одновременно работает 2-3 пользователя, ну иногда максимум 10, да и то разве что в порядке исключения. Если база замусоривается, файл растёт в размерах и производительность падает - это легко решается обычным Backup&Restore. В общем, Firebird - простая и удобная СУБД, при разработке продуктов для малого бизнеса просто идеальна, за что её думаю и ценят. При этом она вполне на уровне "взрослых" СУБД хоть и имеет какие-то недостатки, но в случае малого бизнеса (а не высоконагруженных систем) они несущественны. За всё время работы из всех недостатков только два обнаружила - снижение скорости работы со временем, по этой причине необходимость периодически делать backup&restore; невосстановимые бэкапы, что не дает встроить в продукт загрузку данных из бэкапов для юзеров; ну и еще базы периодически повреждаются при отключении света - но так чтобы часто это не недостаток Firebird думаю у остальных СУБД с этим не лучше а может еще и хуже тк многоверсионник по типу Firebird убить отключениями света по идее сложнее.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111861
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
ну и еще базы периодически повреждаются при отключении света
Наталья, а что, источника бесперебойного питания (UPS) нет на компьютере (p.s. правильнее наверное написать - для компьютера ), на котором БД?
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111864
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87Не буду переходить с IBX на FireDAC, оно того не стоит. Тем более по методу от
Dimitry Sibiryakov. Лучше не тратить на это время, а сам проект развивать, там
непаханое поле.

С Вашей любовью к обёрткам имеет смысл переходить на прямое использование
Firebird API. Вот там выигрыш может быть заметным.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111866
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F
YuRock,

При отсутствии конкурирующих транзакций, запускаемых вслед за текущей активной, длительность ее активности не играет никакой деструктивной роли.))
Сборщик мусора, запустившись, не будет ничего делать для транзакций с номером больше первой активноф. Это уже очень деструктивная роль.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111868
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое деструктивное для Firebird - идиоты, путающие Garbage Collector и Sweep.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111869
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
За всё время работы из всех недостатков только два обнаружила - снижение скорости работы со временем, по этой причине необходимость периодически делать backup&restore
Понятно.
Так "работать" возможно, пока у вас маленькая база. Впрочем, возможно, она у вас будет и оставаться маленькой.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111871
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Самое деструктивное для Firebird - идиоты, путающие Garbage Collector и Sweep.
Да от этого он аж загибается.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111889
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
С Вашей любовью к обёрткам имеет смысл переходить на прямое использование Firebird API. Вот там выигрыш может быть заметным.
Ты уверен, что ТС осилит реализацию TDataSet?
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111896
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Ты уверен, что ТС осилит реализацию TDataSet?

Ты бы видел что она творила пытаясь заставить кнопки быть зелёными и отображать
русский интерфейс на винде без поддержки русского языка... По сравнению с этим,
TDataSet - сущая мелочь. В любом случае уже в этом топике она была готова его
реализовать как мост к ФайерДаку.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111937
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
s62
Наталья87
ну и еще базы периодически повреждаются при отключении света
Наталья, а что, источника бесперебойного питания (UPS) нет на компьютере (p.s. правильнее наверное написать - для компьютера ), на котором БД?


Ну там где есть - очевидно, не повреждаются. Но пользователей сотни у кого есть, у кого нет. В 90% случаях gbak-ом восстанавливаются из автоматических резервных копий с потерей пары дней работы. В оставшихся 10% случаях (когда все так плохо и настолько повреждено, что даже автоматические резервные копии уже долго не делались или умер диск вместе с базой и с резервными копиями) - как правило, проще начать с нуля, тк восстановление экспертами с IBExpert или разными сургеонами выйдет в круглую сумму.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111938
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov> TDataSet - сущая мелочь. В любом случае уже в этом топике она была готова его реализовать как мост к ФайерДаку.

Уверенность в готовности - не есть готовность.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111939
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

отображать русский интерфейс на винде без поддержки русского языка...


Ну тут все-таки переход на юникодную Delphi лучше, чем насиловать Delphi 2007. На Delphi 2007 все эти костыли всё равно через раз работают и по-нормальному как на юникодной Delphi все равно не будет.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111941
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_
Dimitry Sibiryakov
С Вашей любовью к обёрткам имеет смысл переходить на прямое использование Firebird API. Вот там выигрыш может быть заметным.
Ты уверен, что ТС осилит реализацию TDataSet?


Скорее всего, нет. Т. к. смотрю, скажем, в DB.pas, читаю и вижу фигу. Чужой код вообще плохо читается. Хотя была идея работать напрямую с базой на сервере (через gds32.dll) и создать что-то на базе TTcpSocket чтобы сделать что-то типа своего сервера, который бы обращался к Firebird. Но теперь думаю, что скорее всего оно того не стоит, быстрее чем IBSQL (а не IBQuery, который не нужно использовать) не будет.

В FireDAC кстати правильно настроенный аналог IBQuery (TFdQuery) работает примерно с той же скоростью, что IBSQL в IBX. Оттого и кажется что гриды на FireDAC могли бы быстрее отображаться (тк сравнивать надо не TFdQuery и IBSQL, а TFdQuery и TIBQuery). А в IBX - конечно есть IBSQL - но DataSource и гриды ведь всё равно требуют медленный TIBQuery.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111942
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87> Ну тут все-таки переход на юникодную
Наталья87> лучше, чем насиловать Delphi 2007.

Да не может такого быть! Неужели?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111954
Сергей Фролов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, вы ж самого главного не увидели за все 4 страницы и за почти 3 дня.

Наталья87
Проблема в том, что медленно работает при подключении к базам данных через Интернет-соединение.

Не важно что там из DAC используется, проблема в том, что Firebird не умеет через Интернет. Ни по скорости, ни по отсутствию шифрования. И рефакторинг делай/не делай не поможет увеличению скорости. Во всяком случае заметному.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111960
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Фролов,

Мы все сразу увидели, ты из контекста не вырывай. Приведи ее полностью, в части сравнения в этом плане IBX и FireDAC.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111967
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Фроловпроблема в том, что Firebird не умеет через Интернет. Ни по скорости, ни по
отсутствию шифрования.

Умеет. И по скорости, и по шифрованию. Загвоздка только в прокладке неподходящей
конфигурации.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111968
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Сергей Фроловпроблема в том, что Firebird не умеет через Интернет. Ни по скорости, ни по
отсутствию шифрования.

Умеет. И по скорости, и по шифрованию. Загвоздка только в прокладке неподходящей
конфигурации.


И даже умеет работать при нестабильном коннекте? Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит?
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111969
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты
теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит?

"Фантастика в соседнем отделе". В TCP пакеты теряться не могут. Их потеря
приводит к разрыву соединения и с этим ни один stateful протокол не справится по
определению.

Зря Вы не стали писать свой собственный сокет-сервер. Получили бы неоценимый опыт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111971
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Наталья87Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты
теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит?

"Фантастика в соседнем отделе". В TCP пакеты теряться не могут. Их потеря
приводит к разрыву соединения и с этим ни один stateful протокол не справится по
определению.

Зря Вы не стали писать свой собственный сокет-сервер. Получили бы неоценимый опыт.


Да - но попробуй это объясни пользователям. Они говорят "интернет есть", а когда им говоришь про необходимость непрерывного бесперебойного соединения для клиент-серверных программ - считают, что им голову морочат ведь сбербанк онлайн, видеосистемы, тимвивер и прочее работают.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111973
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наталья87
медленно работает


Наталья87
скорость его работы существенно возрастёт


Наталья87
Всё работает действительно быстрее.


Наталья87
всё работает быстрее



Наталья87
быстрее отображаются

Наталья87
А если не быстрее - зачем тогда он нужен вообще этот

...
Оптимизатор вернулся?
Возможно, сменив пол (но это не точно).
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111976
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
И даже умеет работать при нестабильном коннекте? Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит?
При "нестабильном коннекте" надо обращаться к сисадмину, чтобы он починил сеть. Если сисадмин отвечает, что "всё в порядке, яндекс открывается" - уволить некомпетентного сисадмина и взять компетентного, чтобы он привёл сеть в порядок.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111977
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто Вы масштабы проблемы видимо не поняли. При локальном коннекте и даже при сетевом всё работает нормально. Но стоит только сделать подключение к базе через Интернет (используя какой нибудь Хамачи). Хорошо если проводной Интернет, а не какой-нибудь 3G/4G. То всё начинает жутко тормозить. Пинг между компьютерами может быть всего 50 миллисекунд. Но при этом каждое обращение к базе может занимать 200 миллисекунд. Обращений таких при открытии разделов множество и не надо говорить про потоки, это поможет разве что добавить глюков в программу. А при выполнении операций еще больше (там запросов туда-сюда гоняется очень много и всё последовательно). Надо, конечно, оптимизировать всё и возможно, всё переписывать - но это в идеальном мире. Знаю и видела на прошлой работе, что в 1С для этого придумали что то типа &НаСервере, &НаКлиенте (правда с этими &НаСервере башку можно сломать). А по итогу разделы открываются по 5 секунд, а разные операции могут занимать и по 30 секунд - при пинге через черную командную строку в 50 мс. Притом что при подключении по Team Viewer или через RDP если работать с базой локально или в локальной сети всё практически мгновенно. Ускорить бы этот неоптимальный код раза в 2 просто переходом с IBX на FireDAC но похоже, что это не спасёт. А так делать, конечно, мне нечего как оптимизировать код ради оптимизации.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111978
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99
Наталья87
И даже умеет работать при нестабильном коннекте? Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит?
При "нестабильном коннекте" надо обращаться к сисадмину, чтобы он починил сеть. Если сисадмин отвечает, что "всё в порядке, яндекс открывается" - уволить некомпетентного сисадмина и взять компетентного, чтобы он привёл сеть в порядок.


Так в локальной сети же всё нормально. Проблемы если подключаться к базе через Интернет. И не каждый админ возьмется такое настроить.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111979
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наталья87
проводной Интернет...Пинг ... всего 50 миллисекунд.

Наталья87
Так в локальной сети же всё нормально.

В локальной сети - пинг тоже "всего" 50 мс?
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111980
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
Просто Вы масштабы проблемы видимо не поняли. При локальном коннекте и даже при сетевом всё работает нормально. Но стоит только сделать подключение к базе через Интернет (используя какой нибудь Хамачи). Хорошо если проводной Интернет, а не какой-нибудь 3G/4G. То всё начинает жутко тормозить. Пинг между компьютерами может быть всего 50 миллисекунд. Но при этом каждое обращение к базе может занимать 200 миллисекунд. Обращений таких при открытии разделов множество и не надо говорить про потоки, это поможет разве что добавить глюков в программу. А при выполнении операций еще больше (там запросов туда-сюда гоняется очень много и всё последовательно). Надо, конечно, оптимизировать всё и возможно, всё переписывать - но это в идеальном мире. Знаю и видела на прошлой работе, что в 1С для этого придумали что то типа &НаСервере, &НаКлиенте (правда с этими &НаСервере башку можно сломать). А по итогу разделы открываются по 5 секунд, а разные операции могут занимать и по 30 секунд - при пинге через черную командную строку в 50 мс. Притом что при подключении по Team Viewer или через RDP если работать с базой локально или в локальной сети всё практически мгновенно. Ускорить бы этот неоптимальный код раза в 2 просто переходом с IBX на FireDAC но похоже, что это не спасёт. А так делать, конечно, мне нечего как оптимизировать код ради оптимизации.
Чтобы нормально работать на 3G, надо переходить на HTTP. Протокол Firebird для этого слабо подходит.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111981
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наталья87,

раз "в локальной сети все работает отлично", то тебя спасет терминальный сервер.
Ничего переписывать не придется.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111982
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Ничего переписывать не придется.
Я бы не был так уверен.
Есть всякие любители читать/писать в инифайлы "рядом с экзешником".
Но, да, это минимальные проблемы.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40112070
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87Проблемы если подключаться к базе через Интернет.

Так "интернет" или "хамачи"? Это реально две разные вещи...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40112074
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock
в инифайлы "рядом с экзешником".

Это да, бывает.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40112087
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Чтобы нормально работать на 3G, надо переходить на HTTP.

С учётом криворукости современных уэб-программистов, наворачивающих CSS на десять мегабайт и втыкающих xquery в каждую дыру по поводу или без - бесполезно, 3G от них ляжет точно так же.

ъъъъътебя спасет терминальный сервер.

Из табачного киоска через хамачу? Не спасёт.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40112212
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
Пинг между компьютерами может быть всего 50 миллисекунд. Но при этом каждое обращение к базе может занимать 200 миллисекунд.
Попробуйте обойтись без имен компьютеров, чистыми IP-адресами и портами в виде числа, а не имени сервиса. Может помочь, если DNS кривой.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40112214
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bk0010
Может помочь, если DNS кривой.
Помочь чем? Уменьшить время коннекта? Наверное. А вот на скорость обмена пакетами это не повлияет аж вообще никак
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40112400
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Помочь чем? Уменьшить время коннекта? Наверное. А вот на скорость обмена пакетами это не повлияет аж вообще никак
Ну да: вполне может быть, что у нее 150 мс уходит на разрешение имени сервера и за 50 передаются данные.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40112404
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bk0010,

"разрешение имени" требуется один раз, при коннекте, а у ТС запросы тормозят.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40112844
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

_Vasilisk_Ты уверен, что ТС осилит реализацию TDataSet?

Ты бы видел что она творила пытаясь заставить кнопки быть зелёными и отображать
русский интерфейс на винде без поддержки русского языка... По сравнению с этим,
TDataSet - сущая мелочь. В любом случае уже в этом топике она была готова его
реализовать как мост к ФайерДаку.


Вообще-то изначальная идея была другой.

Как правило, при разработке проекта на форму кидаются

TIBTransaction, TIBQuery, TIBDataSource и так далее. В принципе ведь можно делать приложение и без использования визуального редактора форм - а создавая данные объекты вручную.

Так вот - идея была в том, чтобы при каждом OnCreate какой-либо формы пройтись по всем обьектам формы, найти объекты TIBTransaction, TIBQuery и т. д., уничтожить и создать на их месте TFbConnection и т. д. И в свойствах гридов тоже - проверить, что Delphi прописал, удалить это и прописать то же самое - но на основе FireDAC.

То есть фактически - имитировать создание объектов "ручками". Ну а если код какой перестанет работать - понять, что именно перестало работать и возможно, создать обёртки. Это кажется проще, чем создавать полноценный мост - но судя по всему - тоже задача непростая ...
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40113188
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во че есть
https://delphiparser.com/
авторDELPHI PARSER is A Software Utility Robot & Development Full Kit Solution Specializing in Automatic Code Refactoring.

It is designed & aimed to Modernize Database Oriented Software Legacy Systems build with Borland Delphi or C++ Builder in the mid 1990’s using ClientServer architecture.

Embarcadero recommends the use of the DELPHI PARSER for Upgrading Legacy Software Systems from any Delphi or C++ Builder version using BDE (or any other Data-Aware component) to latest RAD Studio 10.1 Berlin using FireDAC. The Delphi Parser is powered by PACIFITY Technologies Ltd. An Official Embarcadero’s Tech Partner.
...
Рейтинг: 0 / 0
111 сообщений из 111, показаны все 5 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Перевод проекта с IBX на FireDAC
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]