mysql perdida de conexion - Forum

Forum Navigation
You need to log in to create posts and topics.

mysql perdida de conexion

El problema que tengo es que si el programa esta inactivo un ratito y después de ese tiempo intento realizar una acción me aparece un cartel indicándome que se perdió la conexión con la base de datos

https://drive.google.com/open?id=1wuD5oTJpl7r6bc2NR3H8B8vxFWuUtg01

Ya he intentado estableciendo la conexion al iniciar el programa y luego solo enviando consultas a la tabla cuando lo necesito como en este ejemplo:

dbpExecSQL "GuaviyuServicios" "SELECT* FROM Turnos WHERE Nombre='[Usuario]' AND Estado='Abierto' " "[Turnos]"

Tambien he probado poner un Timer y verificar la conexion cada 1 minuto con la base de datos pero igual sigue dandome el mismo problema:

.Verificando conexion remota
If "[GuaviyuServicios.$Status]" "<>" "Connected"
dbpOpenDatabase "GuaviyuServicios" "Provider=MSDASQL.1;Driver={MySQL ODBC 5.2 UNICODE       Driver};Server=guaviyu.org;Database=guaviyuo_GuaviyuServicios;User=***********;Password=********;Option=3"
While "[GuaviyuServicios.$Status]" "<>" "Connected"
dbpOpenDatabase "GuaviyuServicios" "Provider=MSDASQL.1;Driver={MySQL ODBC 5.2 UNICODE  Driver};Server=guaviyu.org;Database=guaviyuo_GuaviyuServicios;User=***********;Password=************;Option=3"
dbpShowErrors "No"
EndWhile
dbpShowErrors "No"
endif

Tambien he probado realizar la conexión a la base de datos cada vez que voy a realizar una consulta e igual sigue dándome el error

He consultado con los administradores del Hosting y me indican que ellos no tienen nada para configurar con respecto al tiempo de inactividad en la conexion

Agradezco a quien pueda ayudarme a solucionar esto

Lo que yo hago es ejecutar siempre (cada pocos segundos) un Timer que conecta a una subrutina para mantener viva la conexión.

:mantenedor
If "[estudiantes.mantenedor.$State]" "=" ""
dbpOpenTable "estudiantes" "mantenedor" ""
Else
EndIf

SetVar "[mantenedor]" ""
dbpRefresh "estudiantes" "mantenedor"
dbpFieldToVar "estudiantes" "mantenedor" "dato" "[mantenedor]" "Delimiter=,;SkipBlanks=Yes;NoDuplicates=Yes;DelimiterInContext=Leave"
If "[mantenedor]" "=" ""
AlertBox "" "Se perdió el enlace con la base de datos.| Reinicie el programa para continuar."
Exit "" ""
Else
EndIf

Return