FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Excepción EOleException, Mysql has gone away...
Amigos les voy a pegar el siguiente codigo sencillo para ver si me entienden:
por lo que pueden ve es un simple Ttimer con una opcion de que cada segundo me verifique la hora con una sentencia SQL, ok todo funciona muy bien hasta que paro el servicio de Mysql, es normal que me aparezca la siguiente Exception: " EOleException, Mysql has gone away".. perfecto, ahora yo voy y reactivo el sercvicio de mysql, cuando la aplicacion intenta hacer su consulta mysql ya con el servicio corriendo me sigue dando la exception. Para que pueda reconectar debo cerrar la aplicacion y volverla abrir... ahora mi pregunta es la siguiente, hay alguna forma de volver a conectar a la base de dato sin tener que reiniciar mi aplicación.
__________________
La vida es un simple pero complejo If J=rS
|
#2
|
|||
|
|||
Si, debes revisar el estado en el que queda tu conexion y volver a abrirla. Tambien podes usar un try except y ante el error voler a abrirla. Esto debería solucionar el problema, espero que funcione.
Saludos. |
#3
|
||||
|
||||
intenta esto
Saludos |
#4
|
|||
|
|||
si yo puedo tranquilamente capturar la exception con un try pero lo que no se es que hacer para que vuelva a conectar a la base de dato Ejm:
ok capturo la exception e intento conectar de nuevo mi coneccion pero es inutil, sigue mostrando el error que les comente... Recuerden que la idea es retomar la coneccion como si nada ubiece pasado, que el usuario nisiquiera se alla dado cuenta que el servicio de mysql se cayo
__________________
La vida es un simple pero complejo If J=rS
Última edición por JerS fecha: 17-06-2007 a las 05:22:02. |
#5
|
|||
|
|||
Cita:
Podes usarlo en la excepción en vez de en el else. Además como lo tenes en un timer cuando se levante la DB se va a volver a conectar sin problemas. Si queres, para que no te salga el cartel de error podes poner todo el bloque en una excepcion y si no se conecta no haces nada, total volves a intentar cuando se ejecute el timer. Saludos y cualquier duda prgunta tranquilo. |
#6
|
|||
|
|||
Cita:
__________________
La vida es un simple pero complejo If J=rS
|
#7
|
|||
|
|||
No puede ser que nos gane una conexión. Proba lo siguiente, en vez de preguntar por Connected pregunta por la propiedad State. Los posibles valores son:
stClosed: Connection object is inactive and not connected to a database. stOpen: Connection object is inactive, but connected to a database. stConnecting: Connection object is in the process of connecting to a database. stExecuting: Connection object is currently executing. stFetching: Connection object is retrieving data from the database. Con esto vamos a saber el estado específico de la conexion de todos modos no entiendo porque Connected sigue en true. Proba preguntanto por State (para ver en que estado esta quedando la conexion) y despues probá en el except cerrar y abrir la conexión (ejecuta un close y luego un open). Saludos y seguí posteando que ya lo vamos a resolver. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Me he atascado en el siguiente código | David | PHP | 3 | 26-02-2007 00:15:52 |
siguiente registro (mysql) | Cosgaya | PHP | 2 | 11-07-2006 00:59:40 |
sabel el siguiente tab? | raudelink | Varios | 2 | 26-04-2005 01:40:28 |
encontrar el siguiente en ado | jzginez | Conexión con bases de datos | 1 | 21-05-2004 11:42:08 |
como consulto lo siguiente | noe | SQL | 1 | 12-02-2004 03:32:42 |
|