Unavailable Database ERRO

Delphi

24/07/2012

Galera eu tenho um sistema e toda vez que ele é iniciado automaticamente junto com o windows XP ele da um erro Unavailable Databese. Alguem pode me ajudar?
Eu acho que ele esta sendo iniciado antes que o Firebird 2.1 inicie! Não sei se realmente é isso!
Agradeço pela atenção!
Vinicius Snachez

Vinicius Snachez

Curtidas 0

Respostas

Bruno Leandro

Bruno Leandro

24/07/2012

você diz que esse erro ocorre ao iniciar o sistema junto ao windows, provavelmente o banco de dados ainda não tenha sido inicializado neste momento, por isso este erro deve ocorrer.

caso eu tenha entendido errado entre em contato.

GOSTEI 0
Vinicius Snachez

Vinicius Snachez

24/07/2012

Sim... você entendeu corretamente! Então isso era o que eu imaginava! O sistema esta inicializando primeiro que o Firebird!
O correto era que eu instarta-se o firebird primeiro! No OnShow do Form. mas como fasso isso? Você tem alguma ideia?
Obrigado pela atenção!
GOSTEI 0
Bruno Leandro

Bruno Leandro

24/07/2012

certo, o seu sistema é inicializado como um serviço ou de outra forma ?

se for serviço do windows o banco de dados poderia ser uma dependencia na inicilização mas outra forma.

voce poderia executar um comando para levantar o seu banco de dados por exemplo no create

o padrão para startar o serviço seria C:\Program Files\Firebird\Firebird_2_5\bin\fbserver.exe -s DefaultInstance

nisso voce deixar em loop até o serviço inicialize, busque sobre a função ExecAndWait.

caso tenha alguma duvida entre em contato
GOSTEI 0
Vinicius Snachez

Vinicius Snachez

24/07/2012

begin
      MessageDlg(O Firebird Ainda Não Foi Instartado!, mtWarning, [mbOK], 0);
      WinExec(C:\Arquivos de programas\Firebird\Firebird_2_1\fbserver.exe -s DefaultInstance,SW_NORMAL);
      end;


Então olha o codigo aew, ele esta no OnShow do Form Principal! Tipo o sistema da pra inicializar de duas formas... manualmente ou automaticamente junto com o windows! Manualmente ele funciona... porem automaticamente tem vez que da esse erro como falei! Ai eu realizei esse codigo ai! porem ele ainda nao starta o firebird quando o mesmo nao esta instartado!
GOSTEI 0
Bruno Leandro

Bruno Leandro

24/07/2012

vinicius o winexec continua a execução, voce precisa usar algo como o ExecAndWait pois ele aguarda até a conclusão da execução
GOSTEI 0
Vinicius Snachez

Vinicius Snachez

24/07/2012

oks obrigado pela atenção!
vou dar uma pesquisada aqui ai qualquer coisa volto a postar oks
obrigado!

flws
GOSTEI 0
POSTAR