FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
MySQL Server me cierra conexión
Hola amigo:
Tengo una aplicación que se conecta a WampServer (MySQL) con ZeosLib, desarrollada en Delphi7. La situación es que en determinado tiempo, varia dependiendo de cada computadora, Wamp me cierra la conexión. Entones cuando el usuario intenta hacer algo con el programa le aparece un feo mensaje de error con este contenido: "Error (xxx): MySQL Server has gone away" Me he dado cuenta que la mayoria de las veces es porque se deja de usar el programa y la conexión al no tener actividad es cerrada por el Servidor, pero no hay un tiempo especifico, algunas veces 5 minutos, a veces 10 o 15, nunca es igual en cada maquina. Sin embargo también me ha pasado que en pleno uso se cierra la conexión. Lo que hice fue poner un botón en el programa que ejecuta esta instrucción: DM.ZConnection.Reconnect; //Método Reconectar del objeto TConnection de ZeosLib Con esto Zeos se vuelve a conectar al servidor y el programa vuelve a funcionar. Pero como se imaginan es una lata en primer lugar que aparezca el mensaje de error y estar dándole en "reconectar" cada cierto tiempo, cuando ocurre el error. Como pueden imaginarse, poner un bloque Try para cada consulta que hace el programa es improductivo, sería como ir al peluquero y pedirle que te corte pelo por pelo. Estoy pensando poner un Timer que refresque la conexión cada 5 minutos por ejemplo, pero me temo que eleve el uso de el procesador, el uso de la red y el uso del servidor. Además esto no solucionará la situación de que me cierre la conexión cuando esta en pleno uso. Gracias por tu invaluable consejo, tal vez pasaste por una situación similar, agradecería cualquier ayuda posible |
#2
|
||||
|
||||
Hola darkerbyte
Mira en la documentación de MySQL tratan muy bien el tema y presentan algunas soluciones. Cita:
Por lo general trato de utilizar una función para abrir o ejecutar todas las consultas del app. así no tengo que cortar pelo por pelo cuando voy a manejar estas excepciones especificas. Es decir... en lugar de uso
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#3
|
||||
|
||||
Globalizar excepciones?
Hola amigo [movorack]
Creo que la solucion va por ahi, con el manejador global de excepciones. ¿Me podrías explicar un poco mas de cómo lo haces? De hecho yo tengo la duda si en componente Zconnection no tendrá alguna opción para manejar las excepciones de este tipo. Sería mucho mas simple por que al final de cuentas todas las consultas tienen que pasar por este componente. ¿El manejador de excepciones tambien se puede implementar para las ZTables? Gracias de antemano |
#4
|
||||
|
||||
Ok... me cogiste de buenas pulgas y pues...
Antes que leas el código recuerda: Buscar siempre en google. Aquí una entrada en Delphi FAQ's temas relacionados en About.com Ahora sí... una aproximación a lo que te sugerí. La implementación depende de tu programa.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Conexión a SQL server | zvf | Conexión con bases de datos | 7 | 19-12-2007 16:41:30 |
Conexión MySQL 4.1 Server | MaMu | MySQL | 1 | 26-08-2007 14:04:56 |
Conexion con Ms Sql server | mrh_peru | Conexión con bases de datos | 4 | 19-10-2006 01:48:27 |
conexion a sql server | nnl | MS SQL Server | 6 | 25-09-2006 21:50:04 |
Conexion con mysql server | Cosgaya | MySQL | 2 | 27-07-2006 17:48:18 |
|