Tdolphin, Reconexiones

Tdolphin, Reconexiones

Postby Adolfo » Tue Jun 24, 2014 2:14 pm

Fivewinners, Daniel.


Daniel, he revisado la clase y veo que existe la data lReconnect, la cual esta inicializada a .T., sin embargo he tenido problemas con un provvedor de servicios de hosting donde un cliente tiene un DB Mysql alojada, desde hace unos dias esta botando todas las conexiones a la DB que quedan iddle por mas de 30 segundos, el problema es que la aplicacion se cae con el error

"Error MYSQL/2013 Lost connection to MySQL server during query"

Existe alguna forma de forzar la reconexion antes de enviar el Query, de forma automatica para toda la aplicacion, no programando un Ping antes de cada select creada.

Desde Chile
Adolfo
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1650
User avatar
Adolfo
 
Posts: 846
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: Tdolphin, Reconexiones

Postby Daniel Garcia-Gil » Tue Jun 24, 2014 9:52 pm

Hola

Sinceramente yo solucione el problema de la desconexion ejecutando un "SELECT 1" cada x segundos, nunca mas tuve problemas
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Tdolphin, Reconexiones

Postby Adolfo » Tue Jun 24, 2014 9:56 pm

Daniel, gracias

Pruebo y te comento.

Desde Chile
Adolfo
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1650
User avatar
Adolfo
 
Posts: 846
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: Tdolphin, Reconexiones

Postby TOTOVIOTTI » Wed Oct 22, 2014 7:20 pm

Hola,
retomando éste tema, y tratando de solucionar el error 2013 de pérdida de conexión
con el servidor, cuanto sería recomendable el tiempo para ir haciendo el ping a la base
para que no se caiga la conexión?
Muchas gracias!
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 387
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Tdolphin, Reconexiones

Postby carlos vargas » Wed Oct 22, 2014 8:44 pm

Daniel, el hacer ping cada x tiempo funciona para evitar que mysql corte la conexion, pero cuando por problemas de internet sucede un corte por pequeños lapsos de tiempos?
has probado situaciones donde conexiones por internet, tu simulas cortes de internet? (desconectas el cable de red y lo reconectas para simular la desconexion)
tdolphin no se reconecta.

segun info leida a partir de determinada version (5.0.3) mysql ha deshabilitado la re conexiones automáticas.
http://linux.overshoot.tv/wiki/mysql_server_has_gone_away
mira si esta modificacion ayuda
Code: Select all  Expand view

HB_FUNC( MYSQLCONNECT ) // -> MYSQL*
{
   MYSQL * mysql;
   unsigned int port  = ISNUM( 4 ) ? ( unsigned int ) hb_parni( 4 ) :  MYSQL_PORT;
   unsigned int flags = ISNUM( 5 ) ? ( unsigned int ) hb_parni( 5 ) :  0;
   PHB_ITEM pcbDecrypt = hb_param( 7, HB_IT_BLOCK );  
   HB_BOOL bReconnect = TRUE; /*NUEVO*/
   
   mysql = mysql_init( NULL );
   
   if ( ( mysql != NULL ) )
   {
      mysql_options( mysql, ( enum mysql_option ) MYSQL_OPT_RECONNECT, &bReconnect ); /*NUEVO*/
     
      mysql_real_connect( mysql,
                          hb_itemGetC( hb_vmEvalBlockV( pcbDecrypt, 1, hb_param( 1, HB_IT_ANY ) ) ),
                          hb_itemGetC( hb_vmEvalBlockV( pcbDecrypt, 1, hb_param( 2, HB_IT_ANY ) ) ),
                          hb_itemGetC( hb_vmEvalBlockV( pcbDecrypt, 1, hb_param( 3, HB_IT_ANY ) ) ),
                          hb_itemGetC( hb_vmEvalBlockV( pcbDecrypt, 1, hb_param( 6, HB_IT_ANY ) ) ),
                          port, NULL, flags );
      hb_MYSQL_ret( mysql );
   }
   else
   {
     hb_retptr( NULL );
   }
}
 
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1687
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Tdolphin, Reconexiones

Postby Willi Quintana » Thu Oct 23, 2014 4:38 am

Hola amigos....
Prueben con esta sentencia...
Code: Select all  Expand view

oQry:execute("SET SESSION wait_timeout = 86400" )   // para que no se desconecte al server
 
User avatar
Willi Quintana
 
Posts: 1002
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: Tdolphin, Reconexiones

Postby MGA » Wed Oct 29, 2014 5:14 pm

Carlos, você fez provas com:

oQry:execute("SET SESSION wait_timeout = 86400" ) // para que no se desconecte al server
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: Tdolphin, Reconexiones

Postby carlos vargas » Thu Oct 30, 2014 1:47 pm

repito, el escenario es que la conexión de Internet se cae (se corta), no es que el servidor mysql corte la conexión por inactividad.

Estoy sabido que esta instrucción evita que el servidor desactive la conexión por inactividad hasta por un periodo de 8 horas.

oQry:execute("SET SESSION wait_timeout = 86400" )

pero la prueba aca es simular un corte de Internet, en este caso tomamos el cable de red a nuestra pc, lo desconectamos por unos 5 segundos y luego lo recolectamos, esto con la app cargada y la conexión activa, luego de reconectar el cable, cualquier consulta que se realice mostrara el mensaje de error que el servidor no esta disponible, aun cuando ya hay conexión de Internet, en este caso tdolphin no es capaz de reconectar ni aun usando el método recconect.

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1687
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Tdolphin, Reconexiones

Postby CARLOS ATUNCAR » Fri Nov 13, 2015 3:03 am

Saludos, retomando el problema de las reconexiones , se encontro alguna solución, tengo un problema con servidor y que se pierde la conexión por el problema de la internet probe un proceso largo con el ping demoro un poco pero lo termino y al quitarlo aun determinado tiempo de congela.
CARLOS ATUNCAR
 
Posts: 117
Joined: Thu Sep 17, 2015 11:40 pm

Re: Tdolphin, Reconexiones

Postby cmsoft » Mon Nov 16, 2015 12:05 pm

Lo que puedes hacer para cuando sabes que vas a generar un proceso largo, es extender el tiempo de la sesion de mysql.
Prueba con
oServer:Execute("SET SESSION wait_timeout = 186400")
y cuando terminas lo vuelves al valor por defecto
oServer:Execute("SET SESSION wait_timeout = 28800")
Saludos
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 83 guests