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

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

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

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

Сообщение Tango » 07.12.2015 20:35:42

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

Как заставить SQLdb загружать библиотеку GDS32.dll. В исходниках очень глубоко зашито fbclient.dll.
Аватара пользователя
Tango
постоялец
 
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

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

Сообщение Ism » 07.12.2015 23:58:04

Переименовать
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

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

Сообщение Tango » 08.12.2015 11:01:01

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

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

Сообщение DYUMON » 08.12.2015 11:17:33

А если просто не пользоваться SQLdb ? или много привязано?
Аватара пользователя
DYUMON
постоялец
 
Сообщения: 234
Зарегистрирован: 11.03.2009 13:32:54

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

Сообщение Tango » 08.12.2015 11:25:20

Да просто проще. И всё вроде работает. Жалко отказываться от движка в стандартной поставке Лазаря.
Аватара пользователя
Tango
постоялец
 
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

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

Сообщение alexs » 08.12.2015 11:40:59

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 будет использован только в крайнем случае.
Спорная конечно логика. На мой взгляд - уж лучше бы сделали возможность явного указания библиотеки.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

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

Сообщение Tango » 08.12.2015 13:01:05

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

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

Сообщение alexs » 08.12.2015 13:52:03

Лень ковырять исходники. Проще сменить библиотеку...
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 255

Рейтинг@Mail.ru
cron