Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2008
Libarra Libarra is offline
Miembro
 
Registrado: oct 2007
Posts: 29
Poder: 0
Libarra Va por buen camino
Perdida de Conexion

Que al compañeros.. expongo lo siguiente realice una aplicacion con DElphi 7 donde se conecta por el puerto serial a un PBX y obtiene el detallado de las llamdas.. una vez que lo obtiene le doy formato y lo distribuyo en campos de una BD en Mysql usando los Zeos components para hacer la conexion Delphi-Mysql todo marcha.. bien.. mientras haya actividad.. pero llega un momento en que el PBX ya no recibe llamadas sobre todo en fines de semana y la conexion se pierde..

implemente.. un timer. que me este checando la conexion asi el server.. y si hay perdida.. que la levante de nuevo.. este es el codigo que uso

procedure TfrmPrincipal.Timer1Timer(Sender: TObject);
begin
if not cn.Connected then
cn.Connected:=true;
end;

Pero creo que no me ha funcionado puesto que la conexion despues de varias hras se pierde..

Mi pregunta.. es ¿Existe alguna otra manera de checar si sta conectado usando zeos.. ??

Gracias!
Responder Con Cita
  #2  
Antiguo 25-03-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Puedes verificar en los eventos "BeforeDisconnect" o "AfterDisconnect", lo mismo para "BeforeConnect", "AfterConnect" de tu componente "CN"
__________________

Responder Con Cita
  #3  
Antiguo 25-03-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Para chequear que estás conectado, quizás deberías hacer algo en la base de datos, dentro de un try ... except.

Por ejemplo

QueryDummy es un query que hace algo simple
Código SQL [-]
select count(*) from tabla
Código Delphi [-]
procedure TfrmPrincipal.Timer1Timer(Sender: TObject);
begin
   try
      with QueryDummy do
      begin
         if no Transaction.InTransaction do Transaction.StartTransaction;
         ExecQuery;
         Transaction.Commit;
      end;
   except
      {si hubo error, desconecto y conecto nuevamente}
      if cn.Connected then
         cn.Connected := False;
      if not cn.Connected then
         cn.Connected := True;
   end;
end;
Responder Con Cita
  #4  
Antiguo 25-03-2008
Libarra Libarra is offline
Miembro
 
Registrado: oct 2007
Posts: 29
Poder: 0
Libarra Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Para chequear que estás conectado, quizás deberías hacer algo en la base de datos, dentro de un try ... except.

Por ejemplo

QueryDummy es un query que hace algo simple
Código SQL [-]select count(*) from tabla

Código Delphi [-]procedure TfrmPrincipal.Timer1Timer(Sender: TObject);
begin try with QueryDummy do begin if no Transaction.InTransaction do Transaction.StartTransaction;
ExecQuery;
Transaction.Commit;
end;
except {si hubo error, desconecto y conecto nuevamente} if cn.Connected then cn.Connected := False; if not cn.Connected then cn.Connected := True; end;
end;

Gracias compañeros...por su pronta respuesta lo que he notado es que despues de 8hrs sin actividad se pierde la conexion pero no me manda ningun error.. de hecho lei en la documentacion del MySQL que esos solia pasar en windows se perdia la conexion pero el SO no mandaba ningun msg de error

Optare por la soluicion que me da duilioisola le estare mandando cada cierto tiempo no se tal vez cada hra.. una consulta pa mantener al servidor siempre funcionando..

Muchas gracias.. despues posteo resultados!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Conexion Firebird perdida PacoPepe Conexión con bases de datos 2 31-12-2006 14:59:57
Perdida de } Jack Varios 5 06-05-2004 16:44:50
Perdida de conexion con interbase fox Conexión con bases de datos 0 04-02-2004 09:18:38
Perdida de conexion con base de datos Access DanielAlexander Conexión con bases de datos 8 06-01-2004 20:00:12
Pérdida de conexión de todos los usuarios conectados a INTERBASE ACK Firebird e Interbase 8 24-09-2003 17:12:29


La franja horaria es GMT +2. Ahora son las 11:50:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi