IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.
Модератор: kdv
-
zz 5
- Сообщения: 32
- Зарегистрирован: 02 мар 2006, 10:52
Сообщение
zz 5 » 26 фев 2007, 14:57
Добрый день. Ситуация следующая: до сих пор в крупном проекте использовался IBX для доступа к БД (Interbase). В связи с переходом на Firebird было решено постепенно переводить работу на FIBPlus, но столкнулись с одной проблемой. Дело в том, что классы TIBDatabase и TFIBDatabase не являются родственными, следовательно, в качестве значения свойства Database TIBQuery можно указать только TIBDatabase, а для TFIBQuery только TFIBDatabase. Сразу переделать все объекты TIBQuery на TFIBQuery не представляется возможным из-за слишком больших объемов работ, поэтому вопрос следующего характера. Можно ли использовать в программе одновременно два подключения к БД с одними и теми же настройками TFIBDatabase и TIBDatabase (включая имя пользователя) ? Чем это грозит и насколько это вообще допустимо ?
-
CyberMax
- Заслуженный разработчик
- Сообщения: 638
- Зарегистрирован: 31 янв 2006, 09:05
Сообщение
CyberMax » 26 фев 2007, 15:25
Ничем это не грозит. У меня в одной базе сейчас точно также: в программе два TpFIBDatabase, один атавизм устаревшего кода, другой - из нового... До этого тоже переходил с IBX и FIB+ и также было две компоненты Database. Так что конвертируй код спокойно

.
-
zz 5
- Сообщения: 32
- Зарегистрирован: 02 мар 2006, 10:52
Сообщение
zz 5 » 26 фев 2007, 15:36
CyberMax, Спасибо, развеяли мои сомнения.

-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 26 фев 2007, 15:46
"в связи с чем" решили перейти на FIBPlus? я понимаю, если вы вообще решили с IBX перейти на FIBPlus. Но в посте прозвучала непонятная привязка к "переходу на Firebird".
кроме того,
TIBQuery <> TFIBQuery
TFibQuery это TIBSQL. А как в фибплюсе называется эквивалент IBQuery, я не помню.
-
CyberMax
- Заслуженный разработчик
- Сообщения: 638
- Зарегистрирован: 31 янв 2006, 09:05
Сообщение
CyberMax » 26 фев 2007, 16:09
kdv писал(а):кроме того,
TIBQuery <> TFIBQuery
TFibQuery это TIBSQL. А как в фибплюсе называется эквивалент IBQuery, я не помню.
В Devrace видимо решили не заморачиваться облегчением перехода с BDE, поэтому в FIB+ аналогов TIBTable и TIBQuery просто нет. И слава Богу...
-
zz 5
- Сообщения: 32
- Зарегистрирован: 02 мар 2006, 10:52
Сообщение
zz 5 » 26 фев 2007, 16:22
kdv, угу, вообще. Но не моментом, а неспеша.
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 26 фев 2007, 16:31
тогда ладно. а то я думал, еще один миф (хотя вроде уже гуляет такое) - IBX для InterBase, а FIBlus - для Firebird.
пришлось тут
www.ibase.ru/devinfo/ibx.htm
даже красным жирным шрифтом написать...
-
EvilsInterrupt
- Сообщения: 66
- Зарегистрирован: 29 авг 2006, 10:00
Сообщение
EvilsInterrupt » 26 фев 2007, 18:44
В этой статье упоминался: "IBScript", тоже самое но для FIBplus есть?
Мне надо скрипт который создается утилитой IB & FB Development Studio как то выполнить программно.
-
Dimitry Sibiryakov
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Сообщение
Dimitry Sibiryakov » 27 фев 2007, 08:04
Раз студией сделал, так студией и выполняй. Ну или можешь написать свой парсер - на пару часов работа.
-
vserd
- Сообщения: 10
- Зарегистрирован: 31 авг 2006, 17:15
Сообщение
vserd » 03 мар 2007, 15:26
Можно ли использовать в программе одновременно два подключения к БД с одними и теми же настройками TFIBDatabase и TIBDatabase (включая имя пользователя) ? Чем это грозит и насколько это вообще допустимо ?
Как-то в сети наткнулся на способ, в котором описывался переход между BDE и IBX, для использования коннекта предлагалось установить коннект, и скопировать Handle в другой компонент хDatabse. Сам не проверял, но похоже что должно работать.
-
WildSery
- Заслуженный разработчик
- Сообщения: 1738
- Зарегистрирован: 05 июн 2006, 16:19
Сообщение
WildSery » 04 мар 2007, 18:58
Хэндл подключенной к базе Database (BDE) передать в IBDatabase или pFIBDatabase - без проблем, просто присвоением хэндла. Мы так делаем.
В обратную сторону AFAIK нельзя.
Передавать хэндл между IB и FIB базами - тоже без проблем. Он нормально шарится.