Delphi x Firebird
Caros colegas,
Estou desenvolvendo um instalador para minha aplicacao que ja instala o firebird (chamando instalador oficial do firebird em modo silencioso), onde o meu instalador deve alterar a senha do usuario SYSDBA (pra evitar curiosos mexer no banco). Para isso estou chamando o utilitario GSEC de dentro do instalador.
O problema e que o instalador instala o firebird e na sequencia chama o utilitario GSEC para alterar a senha do administrador, só que a senha não esta sendo alterada (creio que o firebird ainda não foi carregado ou esta em processo).
Logo preciso fazer um loop para testar se o servidor ja esta carregado e somente executar GSEC apos o servidor estar online.
Alguem sabe como posso testar se servidor firebird ja esta online?
Obrigado a todos.
Estou desenvolvendo um instalador para minha aplicacao que ja instala o firebird (chamando instalador oficial do firebird em modo silencioso), onde o meu instalador deve alterar a senha do usuario SYSDBA (pra evitar curiosos mexer no banco). Para isso estou chamando o utilitario GSEC de dentro do instalador.
O problema e que o instalador instala o firebird e na sequencia chama o utilitario GSEC para alterar a senha do administrador, só que a senha não esta sendo alterada (creio que o firebird ainda não foi carregado ou esta em processo).
Logo preciso fazer um loop para testar se o servidor ja esta carregado e somente executar GSEC apos o servidor estar online.
Alguem sabe como posso testar se servidor firebird ja esta online?
Obrigado a todos.
Sergiomatos
Curtidas 0
Respostas
Ericksasse
14/06/2005
Tentativas := 0; while (not SQLConnection.Connected) and (Tentativas < 10) do try SQLConnection.Connected := True; except Inc(Tentativas); Sleep(5000); end; if not SQLConnection.Connected then Exception.Create(´Não foi possível conectado ao banco de dados!´);
Este é um exemplo usando dbExpress.
Ele tenta se conectar 10 vezes, aguardando 5 segundos a cada tentativa.
Se não conseguir conectar, gera uma exception.
GOSTEI 0