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

Не работают insert и delete в embedded сервере.

Добавлено: 10 мар 2006, 23:02
Wladimir
Firebird 1.5.3, BCB 6. Обращение к Firebird - через функции IBAPI.

При статической компоновке (т.е. с включением в проект lib-файла) и запущенном сервере и выбор, и модификация данных происходят нормально.

Если убираю из проекта lib и подгружаю fbembed.dll динамически (серверная служба при этом не запущена), то: selectы и updateы работают нормально, но insert и delete не происходят.
Ошибки, видимой через status при этом не возникает.

Больше в программе ничего не меняю. При возвращении к варианту "статическая компоновка + запущенный сервер" всё снова работает нормально.

Может, есть какие-нибудь особенности при работе с Embedded?
Или было бы совсем замечательно - какой-нибудь простенький, но работающий пример с Embedded, от которого можно отталкиваться.

Добавлено: 11 мар 2006, 01:33
kdv
какой-нибудь простенький, но работающий пример с Embedded, от которого можно отталкиваться.
вот пример - берем ЛЮБУЮ программу, которая работает с IB/FB, и вместо gds32.dll подсовываем переименованный fbembed.dll. Коннект к БД при этом должен быть локальным. Все.

Добавлено: 11 мар 2006, 09:25
Wladimir
Точнее, в fbclient.dll. Делал - не помогало.

Выяснил сейчас, в чём причина: оказывается, ещё надо было intl с fbintl.dll в каталог программы скопировать, тогда заработало.

Спасибо!

Добавлено: 11 мар 2006, 12:08
kdv
fbintl.dll в каталог программы скопировать, тогда заработало
надо же доку и readme читать...

Добавлено: 11 мар 2006, 19:15
Wladimir
Readme читал, как ни странно. В доках расматривается работа с запущенным сервером, а про embedded - полтора слова.
До сих пор работал с MsSql и SQLite, поэтому не все специфические моменты сходу очевидны.