Guest - kleberns - Postado Fevereiro 9, 2006 Denunciar Share Postado Fevereiro 9, 2006 Pessoal, Por que não funciona o time-out ?! Exemplo: ADO1.CommandTimeout := ttDH.TimeOut div 1000; ADO1.Conexao.ConnectionTimeout := ttDH.TimeOut div 1000; quando o IP 192.168.0.1, ele obedece ao timeout desejado quando o IP 200.155.1.1, ele ignora o time-out de cima, demora uns 40 segundos para liberar a Aplicacao (Fica Travada no comando ADO1.Open); Como eu faco para ter um time-out MEU ?! (não esquecendo q a "mercadoria" do componente trava a aplicacao no comando ADO1.Open)Grato,att.Nogueira Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kleberns Postado Fevereiro 21, 2006 Denunciar Share Postado Fevereiro 21, 2006 Sem resposta ainda Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Fevereiro 21, 2006 Denunciar Share Postado Fevereiro 21, 2006 Experimente fazer isso...ADO1.ConnectOptions := coAsyncConnect;... antes de chamar o método Open().Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kleberns Postado Março 9, 2006 Denunciar Share Postado Março 9, 2006 Desculpa a demora !Obrigado vou verificarabsatt.Nogueira Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - kleberns - Postado Março 22, 2006 Denunciar Share Postado Março 22, 2006 Graymalkin,Consegui fazer isso, so q ao tentar sair do programa, ele fica parado no metodo FreeAndNil(ModuloSQL);Creio eu que ele não sai por que o componente TADO ainda esta tentando se conectar, so que o meu time-out de conexao já acabou, so q o dele ainda não.Como contornar isso ?!att.Nogueira Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - kleberns - Postado Março 22, 2006 Denunciar Share Postado Março 22, 2006 Graymalkin,já tentei o Cancel, Close e nada adianta, ele tem que terminar em todos de 30 segundos para depois desconectar:Pedaco da funcao With DMSql.Conexao Do Begin ConnectOptions := coAsyncConnect; sConexao := 'Provider=SQLOLEDB.1;' + 'Data Source=' + ttDH.URL + ';' + 'Password=' + ttDH.PassWord + ';' + 'User ID=' + ttDH.UserName + ';' + 'Initial Catalog=' + ttDH.Servico + ';' + 'Persist Security Info=False'; ConnectionString := sConexao; FrmCWS.tmrTimeOut.Interval := ttDH.TimeOut; CommandTimeout := ((ttDH.TimeOut) div 1000) + 3; ConnectionTimeout := ((ttDH.TimeOut)div 1000) + 3; FrmCWS.tmrTimeOut.Enabled := True; Open; End; While (stConnecting in DMSql.Conexao.State) And (FrmCWS.tmrTimeOut.Enabled) Do ttApp.ProcessMessages;FrmCWS.tmrTime....begin Try// DMSql.Conexao.Cancel; <- MARQUEI, PORQUE não FUNCIONA If (stOpen in DMSql.Conexao.State) Then Begin DMSql.Conexao.Cancel; DMSql.Conexao.Close; End; Except On E:Exception do begin ttDadPCC.sMensagem := E.Message; End; End;End;att.Nogueira Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Março 24, 2006 Denunciar Share Postado Março 24, 2006 Sem resposta ainda ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - kleberns -
Pessoal,
Por que não funciona o time-out ?!
Exemplo:
ADO1.CommandTimeout := ttDH.TimeOut div 1000;
ADO1.Conexao.ConnectionTimeout := ttDH.TimeOut div 1000;
quando o IP 192.168.0.1, ele obedece ao timeout desejado
quando o IP 200.155.1.1, ele ignora o time-out de cima, demora uns 40 segundos para liberar a Aplicacao (Fica Travada no comando ADO1.Open);
Como eu faco para ter um time-out MEU ?! (não esquecendo q a "mercadoria" do componente trava a aplicacao no comando ADO1.Open)
Grato,
att.
Nogueira
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.