FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ayuda con mysql - reconexiones
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
ayuda con mysql - reconexiones
Posted: Mon Apr 07, 2014 08:37 PM

Estimados, estoy necesitando de su ayuda:

ya he portado una app a mysql usando dolphin, todo ha salido muy bien, menos la parte de las perdidas de conexi贸n.

cuando la app trabaja en red local no hay problemas, dado que tanto el server y las pc clientes tiene su correspondiente bater铆as, por lo que un corte en la conexi贸n es altamente improbable.

pero cuando se trabaja fuera, se usan conexiones por internet, y ah铆 es donde la cosa cambia.
para efectos de prueba he realizado lo siguiente:

1.-ejecuto la app y esta se conecta al servidor si hay conexi贸n a internet.
2.-luego abro m贸dulos los cuales hacen consultas y todo ok.
3.-teniendo abierta la app, realizo una corte de internet. ( ya sea apagando el modem, desconectando el cable, desconectando de internet).
4.-ahora intento abrir cualquier modulo, y el controlador de error me indica que la conexi贸n al servidor se ha perdido.
la app no se cierra, sino que simplemente el modulo no continua y sale al men煤 principal.
5.-luego conecto nuevamente la conexi贸n a internet.
6.-ahora, en la app tengo un timer cada 30 segundo que valida si hay conexi贸n, en caso que no halla conexi贸n, intenta realizar una nueva conexi贸n, de lograrlo, obtengo un nuevo handle de conexi贸n.

ah铆 mismo pruebo entrar a alguno modulo y como ya hay conexi贸n todo retorna a la normalidad.

pero en el servidor ha quedado una conexi贸n sin uso, y cuando cierro la app he intento conectarme de nuevo el programa se congela y no es hasta que cierro la conexi贸n sin uso es que la app se conecta nuevamente.
uso estas instrucciones en mysql.
show processlist;
me muestra una lista de las conexiones.
kill conecction xxxx;
me permite matar conexiones sin uso.

como puedo manejar este tipo de situaci贸n?
cual es la mejor manera, las opciones en el sevidor, etc. como lo habeis hecho ustedes.

salu2
carlos vargas

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 817
Joined: Sun Jun 15, 2008 07:47 PM
Re: ayuda con mysql - reconexiones
Posted: Mon Apr 07, 2014 08:49 PM

Carlos.
Si TDolphin funciona como Eagle1 debe de existir un m茅todo ::ping() que comprueba si hay una desconexi贸n temporal e intenta reconectar el cliente al servidor nuevamente usando el mismo objeto y reutilizando la conexion.

:-)

______________________________________________________________________________

Sevilla - Andaluc铆a
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: ayuda con mysql - reconexiones
Posted: Mon Apr 07, 2014 10:19 PM

ok, revisando, efectivamente, tiene un metodo ping
pero ocurre lo siguiente:

cuando la oconexion esta ok y se llama a ping, este toma unos pocos segundos.
pero si la conexi贸n esta ca铆da, la primera llamada a ping toma su buen tiempo, congelando la aplicacion.
aun cuando ping no hace la reconexion, la siguiente vez que se llama toma menos de un segundo.

salu2
carlos vargas

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: ayuda con mysql - reconexiones
Posted: Tue Apr 08, 2014 01:10 AM
Carlos hace un tiempo me sucedi贸 exactamente lo mismo que te esta pasando... Y la 煤nica soluci贸n que encontr茅 fue colocar un timer al inicio de la aplicaci贸n para que realizara una consulta sencilla sobre una tabla de la base de datos... fue la 煤nica soluci贸n real.. intente cambiando los tiempos de des conexi贸n en mysql pero no me funciono... aqu铆 un trozo del c贸digo..

Code (fw): Select all Collapse
*****************************************
*EJECUTA ESTA CONSULTA PARA EVITAR QUE SE
*CAIGA LA CONEXION CON EL SERVIDOR
*****************************************
PROC pTiempo
cQuery := "SELECT tiempo from "+oLamcla:tTiem
TRY
聽 oLamcla:oServer:Execute(cQuery)
CATCH oError
聽 MsgInfo("Error de Timer ","Control Conexi贸n")
END


Espero te sirva saludos
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: ayuda con mysql - reconexiones
Posted: Tue Apr 08, 2014 02:24 AM

Leando, eso es para que la conexi贸n no se corte por inactividad,
pero ac谩 el asunto es que hacer cuando la conexion se corta por falla de la internet, lo cual corta la conexion con el handle de conexion.

el corte lo provoco yo para ver como recuperar la conexi贸n.

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: ayuda con mysql - reconexiones
Posted: Tue Apr 08, 2014 03:42 AM
Hola Carlos

coloque un ping antes de ejecutarse cada query, de devolver falso genera un mensaje de error que puedes capturar desde TRY/CATH, prueba la rama unstable/1.1 del git
Posts: 400
Joined: Tue Oct 16, 2007 05:51 PM
Re: ayuda con mysql - reconexiones
Posted: Thu May 15, 2014 02:56 AM

Hola Carlos,

Me gustaria saber si pudiste implementarlo y como lo hiziste.

Saludos,

Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com

Continue the discussion