Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ejecutar procedimiento mientras haya conexión

Estas en el tema de Ejecutar procedimiento mientras haya conexión en el foro de Mysql en Foros del Web. Hola, Si tengo un programa que se conecta a c++, ¿es posible crear un procedimiento de mysql, de forma que si el programa pierde conexión, ...
  #1 (permalink)  
Antiguo 25/10/2011, 21:25
Avatar de latinpower  
Fecha de Ingreso: septiembre-2010
Ubicación: Canelones
Mensajes: 116
Antigüedad: 13 años, 7 meses
Puntos: 10
Ejecutar procedimiento mientras haya conexión

Hola,

Si tengo un programa que se conecta a c++, ¿es posible crear un procedimiento de mysql, de forma que si el programa pierde conexión, terminar el procedimiento?

Ya probe usar variables de sesion y hacer una repetitiva mientras no sea null, pero no funciona.

¿Alguna idea para hacer esto?
  #2 (permalink)  
Antiguo 27/10/2011, 12:21
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: Ejecutar procedimiento mientras haya conexión

Por favor, puedes volver a plantear tu pregunta? :)

Para que puedas recibir información sobre la solución ;)

como es eso de conectarse con un programa a c++ (?) D:!
  #3 (permalink)  
Antiguo 27/10/2011, 18:59
Avatar de latinpower  
Fecha de Ingreso: septiembre-2010
Ubicación: Canelones
Mensajes: 116
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: Ejecutar procedimiento mientras haya conexión

jajajaja no un programa c++ que se conecta a mysql. Lo escribi mal .

La idea es que el cliente permanezca conectado a un procedimiento, y en el momento que pierda conexión, o cierre el programa, el procedimiento lo de de baja en la base de datos.
  #4 (permalink)  
Antiguo 27/10/2011, 20:24
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: Ejecutar procedimiento mientras haya conexión

Cuando dices que lo de de baja te refieres a que se cierre la conexión con la base de datos?

El recolector de basura se debería encargar de eso :S
  #5 (permalink)  
Antiguo 28/10/2011, 17:42
Avatar de latinpower  
Fecha de Ingreso: septiembre-2010
Ubicación: Canelones
Mensajes: 116
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: Ejecutar procedimiento mientras haya conexión

Yo tengo una base de datos con usuarios, y los usuarios pueden interactuar entre ellos por medio de MYSQL. Ellos ven la interfaz desde c++. La idea es que si yo cierro el programa abruptamente, voy a seguir figurando como activo en mysql (porque mi atributo no lo cambie antes de salir, algo que queria si hubiera cerrado el programa como se debe)
  #6 (permalink)  
Antiguo 28/10/2011, 21:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Ejecutar procedimiento mientras haya conexión

Toda conexión abierta en MySQL pasa a estado de sleep cuando no se ha cerrado adecuadamente, y normalmente, una vez pasado un determinado tiempo, la conexión se cae. Cierra.
En términos generales, no puedes crear un stored procedure que haga una limpieza de una conexión al perderse el enlace, porque MySQL no tiene ni recursos ni capacidades para programar eso. Lo más que puedes hacer es crear algún programa residente en el servidor, y que con las Tareas Programadas de Windows, o el crontab de Linux, limpie los procesos dormidos o las conexiones que tengan más de cierto tiempo sin actividad.
En ambos casos, no se trata de algo que hagas por SQL o en MySQL. Son cosas que se programan por fuera del DBMS.
La única opción que podría darte alguna solución sería usar EVENTs, si usas MySQL 5.1.x o superior, para crear un proceso que obtenga la lista de procesos dormidos. Pero hasta lo que sé, no puede recuperarlos como tabla, por lo que no los puede manjear como dato, y si no los puede manejar como dato, pues no puede matar los procesos...

Creo que deberías dejar de perder el tiempo y ver cómo crear un programa en C++ que pueda hacer lo que necesitas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: mientras, procedimiento, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:28.