FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Perdida de conexion MySQL Catch error
Posts: 50
Joined: Tue Feb 02, 2021 10:21 PM
Perdida de conexion MySQL Catch error
Posted: Thu May 13, 2021 09:11 PM
Buenas tardes,

Estuve buscando en el foro al respecto de como hacer un handle al respecto pero encontre diferentes soluciones a otras problematicas.

El problema a resolver es como tratar los errores de "Lost Connection to MYSQL" debido a la desconexi贸n de internet. Ya utilizo el "Set TIMEOUT" y tambien el timer para que no se corte la conexi贸n, pero el problema me radica en clientes con redes WiFi, donde, gracias a FiveWin por existir, cuando tienen un microcorte de unos segundos, solamente se frizza unos segundos y vuelve a reconectar.

El problema radica en que cuando intenta reconectarse y no lo hace en 15 segundos, me da un Fatal Error donde si o si hay que cerrar el aplicativo.

Hay alguna manera de cambiar ese tiempo o de que si la conexi贸n se perdio, mostrar un msgstop() y volver a la pantalla anterior para asi no perder toda la carga realizada hasta ese momento?

Ejemplo de proceso:

Cuando presiona un boton, se ejecuta una query que trae informaci贸n. Cuando lo presiona queda esperando a la reconexion, si en 15 segundos no reconecta, tira el error de "Lost Connection to MySQL" y obliga al usuario a salir.

Seria una herramienta muy buena para implementar en todos los sistemas, ya que en Argentina las redes no estan hechas por profesionales y el hardware es de mala calidad.

Muchas gracias de ante mano!
Nicol谩s
Posts: 344
Joined: Sat Jul 22, 2006 09:04 PM
Re: Perdida de conexion MySQL Catch error
Posted: Thu Apr 27, 2023 11:33 PM

Hola Nicolas buenas noches, pudiste solucionar este tema?

Te agradezco cualquier ayuda gracias

Marcelo

FWH - Harbour - BCC7 - PellesC
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Perdida de conexion MySQL Catch error
Posted: Fri Apr 28, 2023 03:14 AM

Hola amigo.

Este es un tema por demas interesante. Pas茅 por un problema similar hace algunos a帽os. Comenzar茅 por el final:

Aprend铆 a no dar garant铆as de funcionamiento de mi software si el cliente tiene una "red" wifi, y menos si es de bajas prestaciones ( tarjetas de red tipo USB,聽 sin un servidor real y sin sistema operativo de red (windows server) )

Me contrataron para desarrollar un sistema, y una vez terminado e instalado (un "servidor" y 12 estaciones) los errores de p茅rdida de conexi贸n no tardaron en aparecer. A veces funcionaba de maravilla y otras veces fatal.聽 Intent茅 de todo a nivel de mi aplicaci贸n y nada, los problemas persistian, hasta que por descarte me di cuenta que el problema era a nivel de hardware.

Sugeri cambiar a red cableada, pero el cliente se negaba. Mand贸 a instalar un mikrotik y un balanceador de carga para sus servicios de internet y aument贸 memoria al "servidor" (una PC normal, compartida)聽 entre otras cosas. Pero nada, persistan las "colgadas" y las perdidas de conexion. Hasta que llegamos a un punto muerto. El estaba convencido que el problema era mi software, y yo estaba convencido de que era cuestion de hardware., llegando a presentarse una situacion tensa e inc贸moda.

De tanto insistir y gracias a la ayuda de un amigo en comun, el cliente decidi贸 cablear, y desde el primer dia se acabaron los problemas. Cero desconexiones.

Pasados unos meses, se decidi贸 a montar un verdadero servidor y con windows server. El cambio en el desempe帽o y velocidad de respuesta en los procesos y consultas fue inmenso y gratificante. Y聽 el software s贸lido y estable como una roca, sin cambiarle ni una letra al codigo.

Hasta el dia de hoy, el cliente satisfecho y solo me llama cuando quiere alguna nueva integracion o cambio.

Hoy se que las redes wifi sufren interferencias con cualquier cosa: rudios, clima, radios, otros equipos,聽 hasta con el flujo de personas o vehiculos聽 andando dentro de las 谩reas de alcance.

Quiz谩s tu caso es igual al mio.

No se puede garantizar un buen funcionamiento de nuestras aplicaciones sobre redes wifi y si hay alto numero de equipos conectados como PC, celulares, tablets, smart TV etc y accesando al servidor constantemente, mucho menos.

Por lo menos, esa es mi experiencia particular.

"Los errores en programaci贸n, siempre est谩n entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Perdida de conexion MySQL Catch error
Posted: Fri Apr 28, 2023 05:12 PM
Hola buenos d铆as, si te conectas por ADO, hace un tiempo Mr.Rao publico un funci贸n, que reconecta la base de datos.
Code (fw): Select all Collapse
*************************************************************
*ESTA FUNCION RECONECTA LA BASE DE DATOS EN CASO DE UNA CAIDA
*SOBRE TODO CUANDO SE TRABAJA POR INTERNET WIFI
*************************************************************
Function AdoExecute( oCn, bAction ) //Aporte Mr.Rao Foro FW
local uRet
if oCn:State == 0 .or. Empty( oCn:Properties( "Current Catalog" ):Value )
聽 聽 oCn:Close()
聽 聽 oCn:Open()
endif
if oCn:State > 0
聽 聽 TRY
聽 聽 聽 聽 uRet 聽:= Eval( bAction, oCn )
聽 聽 CATCH
聽 聽 聽 聽 FW_ShowAdoError( oCn )
聽 聽 END
else
聽 聽 msginfo("Conexi贸n Perdida, imposible recuperar","Error de conexi贸n")
endif
//Usage:
//oRs 聽 聽 聽:= AdoExecute( oMyConObject, { |oCn| FW_OpenRecordSet( oCn, cSql ) } )
//uResult 聽:= AdoExecute( oMyConObject, { |oCn| oCn:Execute( cSql ) } )
return uRet
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) ]

Continue the discussion