sesion tdolphin

sesion tdolphin

Postby kpidata » Mon Oct 16, 2017 8:03 pm

Estimados tengo una aplicación que se conecta con mysql, con una base remota en un hosting, y la típica situación, el usuario abre una ventana, lo llaman o lo que sea y pasa un rato y se cae el sistema... que se perdió la conexion con el host... como puedo resolver esto... yo vi esto.

oServer:Execute("SET SESSION wait_timeout = 186400")

donde debo ubicarlo... ???
kpidata
 
Posts: 80
Joined: Tue Jul 26, 2016 9:52 pm

Re: sesion tdolphin

Postby kpidata » Mon Oct 16, 2017 8:38 pm

sorry, ya lo vi... vere si funciona...
kpidata
 
Posts: 80
Joined: Tue Jul 26, 2016 9:52 pm

Re: sesion tdolphin

Postby Busmatic_wpb » Tue Oct 17, 2017 2:57 am

Mira amigo lo mas simple es mandar un ping a server cada cierto tiempo. Yo utilizo la version Mysql de Sr. William y en ella viene un llamado a un ping al server
ASi dejo el programa conectado a server remoto y no tengo problemas con el time out.

.... llamado del diaglo o Window


Function PInGtimer()
DEFINE TIMER oTimer3 of oWnd INTERVAL 5000 ACTION EsTadoServer()
Activate timer oTimer3
return

Function EsTadoServer()

IF !oCon:oKon:ping()
MsgStop( "Se ha dectectado que el server no resnponde ","Aviso importante, revise estado del Servidor")
oTimer3:desativate()
oTimer3:end()
oCon:end()
QUIt

endif

oP:Pingserver:= oCon:oKon:ping()
return

Oscar Chacon.
Regards.
S.I.T.U.
Sistemas Inteligentes de transporte urbano
http://www.situcr.com
oscarchacon@Situcr.com
Desarrollos BA4/B4j androide
User avatar
Busmatic_wpb
 
Posts: 162
Joined: Wed Feb 22, 2017 2:19 am

Re: sesion tdolphin

Postby kpidata » Tue Oct 17, 2017 12:31 pm

Estimados, coloque esta opción, y no me corre, se me cae la conexion a los 3 minutos de activar la señal.
kpidata
 
Posts: 80
Joined: Tue Jul 26, 2016 9:52 pm

Re: sesion tdolphin

Postby TecniSoftware » Tue Oct 17, 2017 4:59 pm

Donde la colocaste?

Yo la ubique despues de hacer la conexion:

oServer := TDolphinSrv():New( ....

oServer:Execute( "SET SESSION wait_timeout = 86400;" )

He tenido el sistema abierto por horas y no se me ha desconectado nunca.

Saludos!
Alejandro Cebolido
Buenos Aires, Argentina
User avatar
TecniSoftware
 
Posts: 235
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Re: sesion tdolphin

Postby albeiroval » Sun Oct 22, 2017 10:21 pm

kpidata,

Estimados tengo una aplicación que se conecta con mysql, con una base remota en un hosting


Debes tener en cuenta que el tiempo de la sesion de conexion en los HOSTING son autonomas y no duran mas de 30 segundos,
por lo tanto la instruccion SET SESSION wait_timeout = 86400; no aplica en este caso.

Yo tengo una aplicacion cuya base de datos trabaja en un hosting, y la verdad que 30 segundos ha sido mas que suficiente para
hacer un INSERT, UPDATE, DELETE o un SELECT simple o complejo, incluyendo consultas que usan INNER JOIN / LEFT JOIN, con inclusion de mas de una tabla y con muchos registros.

Ahora si la database reside en un servidor que no es un hosting y el acceso es remoto, para ese caso si funciona esa instruccion,
sin embargo si y solo si para este caso no es recomendable dejar abierta la conexion tanto tiempo.
Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com
User avatar
albeiroval
 
Posts: 378
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

Re: sesion tdolphin

Postby jbrita » Tue Oct 24, 2017 11:44 am

Amigo Albeiro. entonces dices que cada vez que grabas algo en una TABLA abres la BASE DE DATOS,

saludos
jbrita
 
Posts: 502
Joined: Mon Jan 16, 2006 3:42 pm

Re: sesion tdolphin

Postby cmsoft » Wed Oct 25, 2017 3:05 am

Lo que comenta albeiro es cierto, pero si estas en una pantalla con un xbrowse abierto con una query, si la coexion se cae, el programa se caera al querer hacer algun proceso sobre el.
Lo que yo instrumente que me funciona bien tanto en bases de datos almacenadas en hosting como en local, es hacer una simple query para que la conexion no se caiga, cada x tiempo (con un timer).
Si te sirve, la coloco aqui

En la ventana principal de tu aplicacion pones:
Code: Select all  Expand view  RUN

DEFINE TIMER oApp:oTimer INTERVAL 10000 ACTION Pinguear() OF oApp:oWnd  
ACTIVATE WINDOW oApp:oWnd MAXIMIZED ON INIT oApp:oTimer:Activate()


Y la funcion pinguear seria:
Code: Select all  Expand view  RUN

*********************************************
** Pinguar
FUNCTION Pinguear()
LOCAL oQry, lRta
IF oApp:oServer <> nil
   oQry := oApp:oServer:Query("SELECT 1")
   IF oQry:RecCount() = 0
      oApp:oTimer:Deactivate()
      oApp:oWnd:SetMsg("Reconectando con el servidor......")
      lRta := oApp:oServer:Ping()
      IF !lRta
         MsgStop("Se desconecto el servidor!","Error")
         QUIT
      ENDIF
      oApp:oTimer:Activate()  
      ELSE
      oApp:oWnd:SetMsg("Pingueando...")      
   ENDIF
ENDIF
RETURN nil

Espero te sirva
User avatar
cmsoft
 
Posts: 1291
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 44 guests