IBPP и Firebird Embedded
Добавлено: 05 дек 2006, 14:26
(Вообще-то IBPP не визуальные, но по смыслу вроде бы в этот раздел. Если нет - сорри.)
Делаю проект под DevC++/wxWidgets и Firebird 2.0. Для доступа к БД использую devpak IBPP.
В каталог проекта скопировал все файлы/каталоги из embedded-архива.
С запущенным сервером всё работает отлично.
Но если сервер выгружаю (т.е.пытаюсь работать через embedded), то подключения не происходит, а в логе - ошибка соединения 10061.
(Насколько я понял, это - "не найден сервер").
Здесь вот http://www.ibpp.org/reference/clientlibsearchpaths авторами IBPP сказано, что порядок поиска библиотеки такой:
1. fbembed.dll from the host application executable directory,
2. fbclient.dll from the host application executable directory,
3. fbclient.dll from the directory specified by the DefaultInstance registry value of the SOFTWARE\Firebird Project\Firebird Server\Instances registry key,
4. fbclient.dll without specifying any path, such that the system will choose locations from which to try (usually the system directories)
5. gds32.dll, for compatibility purposes, without specifying any path, the system will decide from which locations to try (usually the system directories).
т.е. в первую очередь ищется библиотека fbembed.dll в каталоге программы (как оно и есть).
Имя сервера пишу - localhost, user/pass=SYSDBA/masterkey.
(Пробовал в самом начале вызвать IBPP :: ClientLibSearchPaths(каталог программы)), но ничего не изменилось.
Ещё там в конце сказано, что вначале оно смотрит PATH и вродекак я понял, можно/нужно как-то "have the binary dependencies of fbclient.dll" т.е. как-то привязать конкретную копию dll к проекту.
Но если это так, то чего-то я не догоню, как.
Ставил каталог программы в начало PATH - без результата.
В чём может быть проблема? Где-нибудь ещё нужно указать на fbembed.dll?
Делаю проект под DevC++/wxWidgets и Firebird 2.0. Для доступа к БД использую devpak IBPP.
В каталог проекта скопировал все файлы/каталоги из embedded-архива.
С запущенным сервером всё работает отлично.
Но если сервер выгружаю (т.е.пытаюсь работать через embedded), то подключения не происходит, а в логе - ошибка соединения 10061.
(Насколько я понял, это - "не найден сервер").
Здесь вот http://www.ibpp.org/reference/clientlibsearchpaths авторами IBPP сказано, что порядок поиска библиотеки такой:
1. fbembed.dll from the host application executable directory,
2. fbclient.dll from the host application executable directory,
3. fbclient.dll from the directory specified by the DefaultInstance registry value of the SOFTWARE\Firebird Project\Firebird Server\Instances registry key,
4. fbclient.dll without specifying any path, such that the system will choose locations from which to try (usually the system directories)
5. gds32.dll, for compatibility purposes, without specifying any path, the system will decide from which locations to try (usually the system directories).
т.е. в первую очередь ищется библиотека fbembed.dll в каталоге программы (как оно и есть).
Имя сервера пишу - localhost, user/pass=SYSDBA/masterkey.
(Пробовал в самом начале вызвать IBPP :: ClientLibSearchPaths(каталог программы)), но ничего не изменилось.
Ещё там в конце сказано, что вначале оно смотрит PATH и вродекак я понял, можно/нужно как-то "have the binary dependencies of fbclient.dll" т.е. как-то привязать конкретную копию dll к проекту.
Но если это так, то чего-то я не догоню, как.
Ставил каталог программы в начало PATH - без результата.
В чём может быть проблема? Где-нибудь ещё нужно указать на fbembed.dll?