Использование FIBL
Модератор: Модераторы
Использование FIBL
Решил попользовать Firebird embed в приложениях.
Для разработки поставил FIBL, но теперь приложение требует
разные DLL из обычного firebirdа.
Я что-то упустил?
Для разработки поставил FIBL, но теперь приложение требует
разные DLL из обычного firebirdа.
Я что-то упустил?
embedded server - это fbembed.dll, копируешь ее в папку с программой,
переименовываешь в fbclient.dll и работаешь.
Но могут потребоваться fbintl.dll, ifbudf.dll,firebird.conf,firebird.msg
Это будет выглядеть примерно так:
Читай README_embedded.txt
переименовываешь в fbclient.dll и работаешь.
Но могут потребоваться fbintl.dll, ifbudf.dll,firebird.conf,firebird.msg
Это будет выглядеть примерно так:
Код: Выделить всё
c:\my_app\app.exe
c:\my_app\fbclient.dll
c:\my_app\ib_util.dll
c:\my_app\firebird.conf
c:\my_app\firebird.msg
c:\my_app\intl\fbintl.dll
c:\my_app\udf\fbudf.dll
Читай README_embedded.txt
я не о том.
При инсталляции в лазаря компонентов FIBL он требует других DLL, которых в embed нет, например - msvcr7.dll
Вторая проблема - поставил Firebird 1.5, базы не поднимаются из бэкапа (Unsuccessful execution caused by an unavailable resource.
Cannot attach to services manager.)
Новые БД не создаются, говорит, что unavailable database.
C базой работаю из IBExpert.
При инсталляции в лазаря компонентов FIBL он требует других DLL, которых в embed нет, например - msvcr7.dll
Вторая проблема - поставил Firebird 1.5, базы не поднимаются из бэкапа (Unsuccessful execution caused by an unavailable resource.
Cannot attach to services manager.)
Новые БД не создаются, говорит, что unavailable database.
C базой работаю из IBExpert.
Соединение устанавливается так:
Код: Выделить всё
procedure TDataModule1.DataModuleCreate(Sender: TObject);
begin
with FIBDatabase1 do
begin
DBName := ExtractFileDir(Application.ExeName)+ '\hc.gdb';
DefaultTransaction := FIBTransaction1;
UserName := 'sysdba';
Password := 'masterkey';
Connected := true;
end;
with FIBTransaction1 do
begin
DefaultDatabase := FIBDatabase1;
Active := True;
end;
end;
А если так:
Т.е. Подключаемся к БД только после установки DefaultTransaction и DefaultDatabase
Код: Выделить всё
procedure TDataModule1.DataModuleCreate(Sender: TObject);
begin
with FIBDatabase1,FIBTransaction1 do begin
DBName := ExtractFileDir(Application.ExeName)+ '\hc.gdb';
DefaultTransaction := FIBTransaction1;
DefaultDatabase := FIBDatabase1;
UserName := 'sysdba';
Password := 'masterkey';
Connected := true;
Active := True;
end;
end;
Т.е. Подключаемся к БД только после установки DefaultTransaction и DefaultDatabase
