Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2012
Yun-i Yun-i is offline
Miembro
 
Registrado: ene 2008
Posts: 125
Poder: 17
Yun-i Va por buen camino
has gone away MySql - Delphi

Hola Foristas antes que nada les digo que el tema ya lo busque en el foro y a pesar de que hay varias entradas que comentan que es por el tiempo de espera del servidor y que son servidores remotos a mí me da este error en ambos servidores (remoto y local), y no hay un tiempo fijo, pueden ser 2 min. 10 min, si pasar de 30 min. Y me sale ni siquiera en tiempo de ejecución, es durante que programo. No puedo acceder que se conecte a menos de que reinicio Delphi, y en tiempo de ejecución hay veces que no puedo hacer ni un insert cuando ya marco el error
has gone away.
Hay forma de que yo pueda refrescar la conexión? que no sea abriéndola y cerrándola porque una vez que marca ese error ya no me permite conectar.

Trabajo en delphi 7, Con componentes DBE.
Y el driver de conexión es el 5.1 de MySQL.
Gracias por su atención
Responder Con Cita
  #2  
Antiguo 28-04-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
No tiene que ver realmente con el servidor ya que MySQL mantiene las conexiones "abiertas" hasta que no se le diga lo contrario o bien pase un cierto tiempo. De hecho el servidor solo sabe que un cliente se desconecta cuando se le envía el mensaje correspondiente, mientras tanto da por hecho que el cliente sigue ahí. Lo que te sucede es un síntoma de problemas de conexión físicos ya sea tu línea de internet, cableado, router, etc. Tu programa está bien por lo que no hay que tocar código, solamente revisar los puntos ya mencionados.

Una solución chapucera es verificar la conexión antes de entrar a un proceso y en caso de que se haya perdido (te saldrá la excepción que mencionas) cerrarla y volver a establecerla.

Yo tengo un sistema de facturas conectado a un servidor MySQL desde diferentes sucursales y siempre que se me ha preentado ese error ha sido por falla de la conexión a internet.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #3  
Antiguo 28-04-2012
Yun-i Yun-i is offline
Miembro
 
Registrado: ene 2008
Posts: 125
Poder: 17
Yun-i Va por buen camino
Coincido contigo pienso que es algo en la red, pero sabrás que los administradores de red no lo van a aceptar en fin, en teoría solo debe estar abierto el puerto 3306 y como no lo tienen bloqueado van a decir que no es eso pero bueno, respecto a lo que me comentas de restablecer la conexión intento hacerlo con la propiedad conected, pero simplemente me vuelve a mandar el error la única solución es abrir y cerrar Delphi y en caso de que este en tiempo de ejecución pues solo cerrando y volviendo a abrir, el problema es cuando no me permite hacer nada por que manda el error. Si tienes un concejo de como reconectar de otra forma te agradecería el apoyo.


Gracias nuevamente
Responder Con Cita
  #4  
Antiguo 30-04-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Hay muchísimas causas por las que puede suceder este error, no necesariamente por una desconexión. No está de más que le eches un ojo a esta parte del manual, para ver si hay algo que puedas corregir.

// Saludos
Responder Con Cita
  #5  
Antiguo 11-05-2012
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 196
Poder: 20
darkerbyte Va por buen camino
A mi me pasa exactamente lo mismo y utilizo Zeoslib.

Inclusive, aunque tengo MySQL server y mi aplicacion corriendo en la misma computadora, al dejar pasar tiempo sin usar la aplicación el servidor cierra automaticamente la conexión. Y cuando el usuario retoma el uso de la aplicacion se topa con este mensage de error. Lo que me ha livianado es que el componente de Zeos Zconection tiene un procedimiento reconect
Entonces cuando tenemos este error el usuario tiene un boton en el form para reactivar la conexión.
Pero no debe funcionar así. He buscado maneras de corregirlo y no lo consigo.
Lo ideal seria cachar esta excepción en el componente ZConection y entonces dentro de la excepción llamar al procedimiento reconect. Si no es posible conectarlo, entonces, ahora si el problema puede ser la red o que el servidor se apagó, mostrar al usuario un mensage acorde.
Pero no logo como cachar la excepción. Y en general una aplicacion usa demasiadas QUerys y Tablas como para estar poniendo un Try en cada una. Aguien concoe un mecanismo que permita cachar la exepcion para cualquier consulta?
La otra cosa que pensé es poner un Timer que cada minutos, por ejemplo, este refrescando la conexión. Seria recomendable poner el timer? o consumiria demasiado procesador?

Gracias por vuestros consejos.
Responder Con Cita
  #6  
Antiguo 06-08-2013
pepe2000 pepe2000 is offline
Miembro
 
Registrado: dic 2003
Ubicación: Cajamarca
Posts: 93
Poder: 21
pepe2000 Va por buen camino
Unhappy Con problema similar

No se si habrán solucionado este problema de la conexion con Zeos, pero de ser así, podrían colocar aquí como es que lo hicieron?

Muchas Gracias.
Responder Con Cita
Respuesta



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
Delphi MySQL PHP totote Conexión con bases de datos 2 16-10-2007 04:26:50
Delphi y MySQL betto Conexión con bases de datos 5 29-08-2007 21:06:55
Delphi y MySql en una LAN MartinC MySQL 13 31-10-2005 18:01:26
mysql con delphi???????????????????????? miguelogm Varios 2 12-03-2005 19:19:27
Delphi y MySQL vinny MySQL 2 27-05-2003 16:50:58


La franja horaria es GMT +2. Ahora son las 00:12:29.


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