Страница 1 из 1

Два подключения к БД одного пользователя

Добавлено: 26 фев 2007, 14:57
zz 5
Добрый день. Ситуация следующая: до сих пор в крупном проекте использовался IBX для доступа к БД (Interbase). В связи с переходом на Firebird было решено постепенно переводить работу на FIBPlus, но столкнулись с одной проблемой. Дело в том, что классы TIBDatabase и TFIBDatabase не являются родственными, следовательно, в качестве значения свойства Database TIBQuery можно указать только TIBDatabase, а для TFIBQuery только TFIBDatabase. Сразу переделать все объекты TIBQuery на TFIBQuery не представляется возможным из-за слишком больших объемов работ, поэтому вопрос следующего характера. Можно ли использовать в программе одновременно два подключения к БД с одними и теми же настройками TFIBDatabase и TIBDatabase (включая имя пользователя) ? Чем это грозит и насколько это вообще допустимо ?

Добавлено: 26 фев 2007, 15:25
CyberMax
Ничем это не грозит. У меня в одной базе сейчас точно также: в программе два TpFIBDatabase, один атавизм устаревшего кода, другой - из нового... До этого тоже переходил с IBX и FIB+ и также было две компоненты Database. Так что конвертируй код спокойно :).

Добавлено: 26 фев 2007, 15:36
zz 5
CyberMax, Спасибо, развеяли мои сомнения. :D

Добавлено: 26 фев 2007, 15:46
kdv
"в связи с чем" решили перейти на FIBPlus? я понимаю, если вы вообще решили с IBX перейти на FIBPlus. Но в посте прозвучала непонятная привязка к "переходу на Firebird".

кроме того,
TIBQuery <> TFIBQuery
TFibQuery это TIBSQL. А как в фибплюсе называется эквивалент IBQuery, я не помню.

Добавлено: 26 фев 2007, 16:09
CyberMax
kdv писал(а):кроме того,
TIBQuery <> TFIBQuery
TFibQuery это TIBSQL. А как в фибплюсе называется эквивалент IBQuery, я не помню.
В Devrace видимо решили не заморачиваться облегчением перехода с BDE, поэтому в FIB+ аналогов TIBTable и TIBQuery просто нет. И слава Богу...

Добавлено: 26 фев 2007, 16:22
zz 5
kdv, угу, вообще. Но не моментом, а неспеша.

Добавлено: 26 фев 2007, 16:31
kdv
тогда ладно. а то я думал, еще один миф (хотя вроде уже гуляет такое) - IBX для InterBase, а FIBlus - для Firebird.
пришлось тут
www.ibase.ru/devinfo/ibx.htm
даже красным жирным шрифтом написать...

Добавлено: 26 фев 2007, 18:44
EvilsInterrupt
kdv писал(а):www.ibase.ru/devinfo/ibx.htm
В этой статье упоминался: "IBScript", тоже самое но для FIBplus есть?

Мне надо скрипт который создается утилитой IB & FB Development Studio как то выполнить программно.

Добавлено: 27 фев 2007, 08:04
Dimitry Sibiryakov
Раз студией сделал, так студией и выполняй. Ну или можешь написать свой парсер - на пару часов работа.

Добавлено: 03 мар 2007, 15:26
vserd
Можно ли использовать в программе одновременно два подключения к БД с одними и теми же настройками TFIBDatabase и TIBDatabase (включая имя пользователя) ? Чем это грозит и насколько это вообще допустимо ?
Как-то в сети наткнулся на способ, в котором описывался переход между BDE и IBX, для использования коннекта предлагалось установить коннект, и скопировать Handle в другой компонент хDatabse. Сам не проверял, но похоже что должно работать.

Добавлено: 04 мар 2007, 18:58
WildSery
Хэндл подключенной к базе Database (BDE) передать в IBDatabase или pFIBDatabase - без проблем, просто присвоением хэндла. Мы так делаем.
В обратную сторону AFAIK нельзя.
Передавать хэндл между IB и FIB базами - тоже без проблем. Он нормально шарится.