SQLdb. Как переопределить клиентскую библиотеку Firebird.

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
Tango
постоялец
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

SQLdb. Как переопределить клиентскую библиотеку Firebird.

Сообщение Tango »

SQLdb. Как переопределить клиентскую библиотеку Firebird.

Как заставить SQLdb загружать библиотеку GDS32.dll. В исходниках очень глубоко зашито fbclient.dll.
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Сообщение Ism »

Переименовать
Аватара пользователя
Tango
постоялец
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

Сообщение Tango »

А можно не дурацкие советы? А если сервер встроенный, а программ несколько, то переименовать никак нельзя.
Аватара пользователя
DYUMON
постоялец
Сообщения: 234
Зарегистрирован: 11.03.2009 12:32:54
Контактная информация:

Сообщение DYUMON »

А если просто не пользоваться SQLdb ? или много привязано?
Аватара пользователя
Tango
постоялец
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

Сообщение Tango »

Да просто проще. И всё вроде работает. Жалко отказываться от движка в стандартной поставке Лазаря.
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Tango писал(а):Да просто проще. И всё вроде работает. Жалко отказываться от движка в стандартной поставке Лазаря.

Он не самый лучший.
А по существу - судя по методу InitialiseIBase60 из модуля ibase60.inc
там либо надо явно указывать что используется встраиваемая версия FB (переменная UseEmbeddedFirebird)
либо идёт перебор модулей:

Код: Выделить всё

    If (TryInitialiseIBase60(fbembedlib)=0) and
       (TryInitialiseIBase60(libem)=0) and
       (TryInitialiseIBase60(fbclib)=0) and
       (TryInitialiseIBase60(libfc)=0) and
       (TryInitialiseIBase60(gdslib)=0) then
        Raise EInOutError.CreateFmt(SErrDefaultsFailed,[fbclib,gdslib,fbembedlib]);

Судя по коду GDS32 будет использован только в крайнем случае.
Спорная конечно логика. На мой взгляд - уж лучше бы сделали возможность явного указания библиотеки.
Аватара пользователя
Tango
постоялец
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

Сообщение Tango »

А не получается, не доходит он до gds32, если ничего нет, наверно. Но у меня была GDS32 в папке рядом с программой, но на компе были и fbclient и gds32 в System.
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Лень ковырять исходники. Проще сменить библиотеку...
Ответить