Fórum falha na conexão com o FB #332312
30/10/2006
0
alguem sabe como posso chegar proximo disso estava tentando usar try mas não deu certo
procedure TForm1.FormCreate(Sender: TObject); begin try // TRATAMENTO ALIAS ADOConnection1.Connected:=false; ADOConnection1.ConnectionString:=(´Provider=IBOLE.Provider.v4;Persist Security Info=False;Data Source=localhost:D:\BDTeste\BD.fdb´); ADOConnection1.Connected:= true; ADOQuery1.Open; // FIM TRATAMENTO ALIAS except //aqui c ocorrer erros //aqui c ocorrer erros end end;
Crcam
Curtir tópico
+ 0Posts
30/10/2006
Martins
vc deseja direcionar as mensagens de erro para um arquivo de LOG e depois de um determinado tempo tipo 30 segundos tentar novamente a conexão?
Gostei + 0
30/10/2006
Crcam
a e também verificar se o banco está off pois o provedor caiu ou a estação está sem internet
Gostei + 0
30/10/2006
Crcam
Gostei + 0
31/10/2006
Martins
procedure TForm1.FormCreate(Sender: TObject);
begin
try
TRATAMENTO ALIAS
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:=(´Provider=IBOLE.Provider.v4;Persist Security Info=False;Data Source=localhost:D:\BDTeste\BD.fdb´);
ADOConnection1.Connected:= true;
ADOQuery1.Open;
FIM TRATAMENTO ALIAS
except
aqui c ocorrer erros
on E : Exception do
begin
MessageDlg(´Erro ao tentar conectar no servidor!
´Mensagem original: ´ E.Message, mtError, [mbOk], 0);
{...Inseri informações no seu arquivo LOG}
end;
aqui c ocorrer erros
end
ADOQuery1.Open;
FIM TRATAMENTO ALIAS
except
aqui c ocorrer erros
on E : Exception do
begin
MessageDlg(´Erro ao tentar conectar no servidor!´ + #13 +
´Mensagem original: ´ + E.Message, mtError, [mbOk], 0);
{...Inseri informações no seu arquivo LOG}
end;
//aqui c ocorrer erros
end
end; Gostei + 0
31/10/2006
Crcam
mas a questão é como não retornar mensagem alguma de falha a ação que quero disparar é oculta so o sistema sabera o usuario não verá msg de qualquer especie
Gostei + 0
31/10/2006
Martins
Meu nobre amigo, estou sem MSN, fiz um teste aqui bem rápido e vc poderá melhorar, espero q lhe seja útil.
//Procedure q cria o arquivo de LOG. procedure TForm1.CriaLog(Nome, Informacao: String); var log: textfile; begin try AssignFile(log, Nome); if not FileExists(Nome) then Rewrite(log, Nome); Append(log); WriteLn(log, Informacao); finally CloseFile(log); end; end;
begin try // TRATAMENTO ALIAS ADOConnection1.Connected:=false; ADOConnection1.ConnectionString:=(´Provider=IBOLE.Provider.v4;Persist Security Info=False;Data Source=localhost:D:\BDTeste\BD.fdb´); ADOConnection1.Conthen Rewrite(log, Nome); Append(log); WriteLn(log, Informacao); finally CloseFile(log); end; end;
begin try // TRATAMENTO ALIAS ADOConnection1.Connected:=false; ADOConnection1.ConnectionString:=(´Provider=IBOLE.Provider.v4;Persist Security Info=False;Data Source=localhost:D:\BDTeste\BD.fdb´); ADOConnection1.Connected:= true; ADOQuery1.Open; // FIM TRATAMENTO ALIAS CriaLog(´D:\Cd\Conexao.Log´, ´Conexão efetuada com sucesso em: ´+DateToStr(Now)+´ às ´+TimeToStr(Now)); except on E: Exception do begin CriaLog(´D:\Cd\Conexao.Log´, ´Erro ao tentar conectar com o servidor em: ´+DateToStr(Now)+´ às ´+TimeToStr(Now)); CriaLog(´D:\Cd\Conexao.Log¬2nected:= true; ADOQuery1.Open; // FIM TRATAMENTO ALIAS CriaLog(´D:\Cd\Conexao.Log´, ´Conexão efetuada com sucesso em: ´+DateToStr(Now)+´ às ´+TimeToStr(Now)); except on E: Exception do begin CriaLog(´D:\Cd\Conexao.Log´, ´Erro ao tentar conectar com o servidor em: ´+DateToStr(Now)+´ às ´+TimeToStr(Now)); CriaLog(´D:\Cd\Conexao.Log´, E.Message +´ em: ´ +DateToStr(Now)+´ às ´+TimeToStr(Now)); end; end; end;
vc vai poder melhorar, dê uma olhada e qualquer coisa retorne aqui.
Boa sorte! :wink:
Gostei + 0
31/10/2006
Martins
veja o exemplo do arquivo de Log.
boa sorte :wink:
Gostei + 0
31/10/2006
Crcam
digamso que vc no alias coloque:
localhost:D:\BDTeste\BD.fdb
certo ligue o sistema e veja se o banco ligou ! se ok agora faça o seguinte:
remova o banco do local ou coloque um alias apontando p/ um banco enixistente
localhost:w:\sembanco\
agora execute seu form veja que ele vai dar uma msg de sistema correto ?
pois é essa msg que eu quero inibir..........
Gostei + 0
01/11/2006
Martins
Fiz todos os testes e a mensagem de erro foi direcionada para o arquivo LOG, as únicas vezes em q ela me foi apresentada foi ao executar pelo RUN do Delphi, tente compilar sua aplicação e rodar ela por fora do Delphi.
Eu estou usando Delphi 6. Aqui funcionou normalmente, pois perceba q a saída está apontada para o arquivo LOG, mas e vc fizer o teste executando por dentro do Delphi vai receber uma exceção gerada por está com a IDE Delphi aberta.
Bos sorte!
Gostei + 0
01/11/2006
Crcam
Gostei + 0
01/11/2006
Martins
tranquilo Campos!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)