Delphi + Firebird 1.5
Galera gostaria de uma ajuda...
Eu preciso criar um banco e rodar os scripts em tempo de execução usando o delphi 10 e o firebird 1.5
Eu fiz o processo e funciona, porem so funciona se eu instalar o firebird 1.5 como aplicação. Se eu instalar como processo nao funciona. Da erro na linha "CreateDatabase;" (unavailable database)
Alguém sabe me informar algo ou pode me ajudar nesse problema? Agradeço desde ja.
Eu preciso criar um banco e rodar os scripts em tempo de execução usando o delphi 10 e o firebird 1.5
Eu fiz o processo e funciona, porem so funciona se eu instalar o firebird 1.5 como aplicação. Se eu instalar como processo nao funciona. Da erro na linha "CreateDatabase;" (unavailable database)
Alguém sabe me informar algo ou pode me ajudar nesse problema? Agradeço desde ja.
procedure TFrmPrincipal.FormShow(Sender: TObject);
var
DataBase : TIBDatabase;
begin
if NOT ((FireBirdGetProcess('fbserver.exe')) OR (FireBirdGetProcess('fb_inet_server.exe'))) then
ControlFBSvr(True);
If not((FileExists(ExtractFilePath(Application.ExeName)+'PANDORA.FDB'))) then
begin
if ((FireBirdGetProcess('fbserver.exe')) OR (FireBirdGetProcess('fb_inet_server.exe'))) then
begin
DataBase := TIBDatabase.Create(nil);
try
with DataBase do
begin
DatabaseName := 'PANDORA.FDB';
SQLDialect := 3;
Params.Clear;
Params.Add ('USER ''SYSDBA''');
Params.Add ('PASSWORD ''masterkey''');
Params.Add ('PAGE_SIZE 16384');
Params.Add ('DEFAULT CHARACTER SET WIN1252');
CreateDatabase;
end;
DmPandora.gerarIni;
DmPandora.CnxPandora.Close;
DmPandora.CnxPandora.Params.Clear;
DmPandora.CnxPandora.Connected := False;
DmPandora.CnxPandora.ConnectionName := 'PANDORA';
DmPandora.CnxPandora.DriverName := 'FIREBIRD';
DmPandora.CnxPandora.LoadParamsOnConnect := False;
DmPandora.CnxPandora.Params.LoadFromFile(ExtractFilePath(Application.ExeName)+'\conexao.ini');
DmPandora.CnxPandora.Connected := True;
GeraScripts;
DmPandora.CdsEmail.Open;
finally
FreeAndNil(DataBase);
end;
end
else
begin
MessageDlg('O banco de dados não foi ativado!', mtWarning, [mbOK], 0);
MessageDlg('Verifique se o mesmo esta instalado. Tente novamente!', mtError, [mbOK], 0);
Application.Terminate;
end;
end;
end;
Vinicius Snachez
Curtidas 0
Respostas
André Celestino
09/01/2013
Olá Vinícius, eu testei aqui com Delphi XE/Firebird 2.5 e funcionou normal.
Só não sei te dizer se isso é um problema de versão, já que aparentemente a sua lógica está correta.
A DLL do Firebird está na pasta do sistema?
Só não sei te dizer se isso é um problema de versão, já que aparentemente a sua lógica está correta.
A DLL do Firebird está na pasta do sistema?
GOSTEI 0