| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
AlemaoJoinville Novato

Registrado: Domingo, 14 de Mai de 2006 Mensagens: 6
|
Enviada: Seg Mai 07, 2007 3:27 pm Assunto: Testar Conexão do Banco de Dados FireBird |
|
|
| Gostaria de uma ajuda,preciso saber como testo a conexão com o Banco de dados Firebird estou utilizando o Delphi e o componente para a conexão com o banco é o IBOBataBase,o problema é preciso testar a conexão para saber se o servidor esta ligado, caso ele não esteja apareça uma mensagem para o usuario verificar o servidor. |
|
| Voltar ao Topo |
|
 |
Dragon_Ryu Aprendiz


Registrado: Domingo, 10 de Abril de 2005 Mensagens: 170 Localização: St Cruz do Sul - RS
|
Enviada: Seg Mai 07, 2007 8:11 pm Assunto: |
|
|
Pra verificar se o servico esta ativo eu nao sei , mas voce pode usar esses comandos para iniciar e parar o servico do firebird:
Primeiro adicione na uses do forme a Unit ShellApi.
Para dar um start o Serviço do banco :
| Código: | | WinExec('C:\Arquivos de programas\Firebird\Firebird_1_5\bin\instsvc.exe start',SW_NORMAL); |
Para dar um ShutDown o Serviço do banco :
| Código: | | WinExec('C:\Arquivos de programas\Firebird\Firebird_1_5\bin\instsvc.exe stop',SW_NORMAL); |
Axo q isso ja da uma maozinha  |
|
| Voltar ao Topo |
|
 |
Dragon_Ryu Aprendiz


Registrado: Domingo, 10 de Abril de 2005 Mensagens: 170 Localização: St Cruz do Sul - RS
|
Enviada: Seg Mai 07, 2007 8:13 pm Assunto: |
|
|
Fucando pelo google axei essa dica em um forum:
| Citação: | | Vc pode utilizar uma função da API do Windows (FindWindow) e procure pela classe IB_SERVER. Se vc encontrar, significa que o servidor está rodando, caso contrátio, vc pode chamar outra função (WinExec ou ShellExecute) para startar o servidor FB |
|
|
| Voltar ao Topo |
|
 |
gilsonnrodrigues Moderador

Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Seg Mai 07, 2007 9:00 pm Assunto: |
|
|
boa noite AlemaoJoinville!!
pelo q entendi vc ta se referindo a um caso em q o usuario está em uma maquina cliente e não no servidor de dados.
vc pode testar em um bloco protegido "try except" q serve tanto pra qdo é acesso local qto pra acesso remoto.
veja:
| Código: |
procedure ConectarBanco(Base : TIB_Connection);
var
S : string;
begin
repeat
try
Base.Open;
except
on E : EIB_ISCError do
begin
case E.ERRCODE of
335544375 : S := 'O servidor do banco de dados não foi carregado.';
335544721 : S := E.Message;
else
raise;
end;
if Application.MessageBox(PChar(S), 'Banco de dados indiponível',
MB_RETRYCANCEL or MB_ICONERROR {or MB_DEFBUTTON2}) <> ID_Retry then
Abort;
end
else
raise;
end;
until Base.Connected;
end;
|
este exemplo aparece a msg pra o usuario com a opção de ele clicar em "repetir" pra tentar novamente ou cancelar.
qdo o pc servidor estiver desligado demora um tempinho pra dar a msg de erro mas funciona blz.
espero ter ajudado!!!
t+ |
|
| Voltar ao Topo |
|
 |
renasti Novato

Registrado: Sexta-Feira, 3 de Janeiro de 2014 Mensagens: 61
|
Enviada: Sex Jan 31, 2014 10:29 pm Assunto: |
|
|
Pessoal, qual unit devo usar para implementar este código que o amigo postou ai, to tentando usar e dar erro de Undeclared.
Valeuuu |
|
| Voltar ao Topo |
|
 |
|