En este mundo cada vez mas globalizado e hiperconectado, aumenta mas la necesidad de alojar nuestras bases de datos en la nube (servidores remotos), nosotros hemos venido usando para realizar la conexión la herramienta ADO, pero últimamente varios usuarios nos han reportado problemas de conexión, ya que cae el internet así sea por unos unos segundos y la aplicación no logra hacer la reconexión. Mr. Rao publico una función para realizar la RECONEXIÓN, pero no es el todo eficiente.
Ya que vamos a ir migrando la aplicación de a poco a webview, queremos aprovechar y si es necesario cambiar la forma en que nos conectamos a las bases de datos de mysql/mariadb.
Que camino me recomiendan tomar, para hacer mas estable la conexión con la bases de datos?
De antemano gracias
que clase nos permite RECONECTAR mas simple?
que clase nos permite RECONECTAR mas simple?
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
- nageswaragunupudi
- Posts: 10691
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: que clase nos permite RECONECTAR mas simple?
I forgot.Mr. Rao publico una función para realizar la RECONEXIÓN,
For my own use and testing, can you reproduce that function here?
Now I need it for myself.
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
Re: que clase nos permite RECONECTAR mas simple?
Mi experiencia me dice que al servidor hay que ir solo cuando necesitamos traer algo
o cuando vamos a modificar algo.
No es necesario tener abierta la conexión todo el tiempo
Sql no es DBF.
es importante comprender la parte (FRONTEND y BACKEND)
Saludos
o cuando vamos a modificar algo.
No es necesario tener abierta la conexión todo el tiempo
Sql no es DBF.
es importante comprender la parte (FRONTEND y BACKEND)
Code: Select all | Expand
WHILE ::oCon != NIL
MSGRUN( "Un momento estoy Conectando con el Servidor", "Usuario", {|| ::oCon := Connection2():New() } )
END
IF ::oCon == NIL
msgstop('No se pudo conectar con el servidor', ::cUser )
RETURN NIL
ENDIF
* AQUI HAGO LA TAREA
::oCon:End() //muere la conexión
Cesar Cortes Cruz
SysCtrl Software
Mexico
' Sin +- FWH es mejor "
SysCtrl Software
Mexico
' Sin +- FWH es mejor "
- JoseAlvarez
- Posts: 807
- Joined: Sun Nov 09, 2014 5:01 pm
Re: que clase nos permite RECONECTAR mas simple?
jutamente hace meses abrí un hilo sobre este tema. Suguiero le den una mirada. Puede ser de utilidad para este.sysctrl2 wrote:Mi experiencia me dice que al servidor hay que ir solo cuando necesitamos traer algo
o cuando vamos a modificar algo.
No es necesario tener abierta la conexión todo el tiempo
Sql no es DBF.
es importante comprender la parte (FRONTEND y BACKEND)
SaludosCode: Select all | Expand
WHILE ::oCon != NIL MSGRUN( "Un momento estoy Conectando con el Servidor", "Usuario", {|| ::oCon := Connection2():New() } ) END IF ::oCon == NIL msgstop('No se pudo conectar con el servidor', ::cUser ) RETURN NIL ENDIF * AQUI HAGO LA TAREA ::oCon:End() //muere la conexión
https://forums.fivetechsupport.com/view ... 3fd42312ff
"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.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Re: que clase nos permite RECONECTAR mas simple?
Leandro
Puedes usar un timer que este validando la conexion con el servidor.. depende de tu aplicacion y el proceso que necesites realizar..
por ejemplo yo detecto si durante un tiempo no uso uso el teclado o ratón abro una pantalla y pido una contraseña en esa pantalla pongo un timer que este validando la conexion con el servidor... esa solución para mi me funciona perfectamente
Un Saludo!
Puedes usar un timer que este validando la conexion con el servidor.. depende de tu aplicacion y el proceso que necesites realizar..
por ejemplo yo detecto si durante un tiempo no uso uso el teclado o ratón abro una pantalla y pido una contraseña en esa pantalla pongo un timer que este validando la conexion con el servidor... esa solución para mi me funciona perfectamente
Un Saludo!
Re: que clase nos permite RECONECTAR mas simple?
Hola buenos días, gracias a todos por responder
Cesar y José gracias por la ayuda.
Gabo gracias por responder
Mr. Rao esta es la función que nos proporcionaste.I forgot.
For my own use and testing, can you reproduce that function here?
Now I need it for myself.
Code: Select all | Expand
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
Con respecto al este aporte, es el tema de conexión y desconexión con un servidor remoto aumenta el tiempo de respuesta demasiado, ya que depende de muchos factores, en alguna oportunidad lo intente así, tomamos los tiempos, pero es realmente demorado en algunas ocasiones, lo mejor que nos ha funcionado de momento es mantener la aplicación en línea con el servidor. Pero no se si este problema sea de ADO, por eso nos surge la idea de cambiar de clase y podamos mejorar esos tiempos y reconexiones.Mi experiencia me dice que al servidor hay que ir solo cuando necesitamos traer algo
o cuando vamos a modificar algo.
No es necesario tener abierta la conexión todo el tiempo
Sql no es DBF.
es importante comprender la parte (FRONTEND y BACKEND
Gabo gracias por responder
Si, de momento así lo tenemos, el problema es cuando la conexión se cae (realmente), así sea por algunos segundos. Luego le es imposible reconectarse.Leandro
Puedes usar un timer que este validando la conexion con el servidor.. depende de tu aplicacion y el proceso que necesites realizar..
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
Re: que clase nos permite RECONECTAR mas simple?
No uso ADO,
siempre he usado dolphin y en versiones actuales uso las funciones de mariaDB nativo de fwh
y para agilizar el tráfico es mejor usar codigo nativo de SQL.
saludos.
siempre he usado dolphin y en versiones actuales uso las funciones de mariaDB nativo de fwh
y para agilizar el tráfico es mejor usar codigo nativo de SQL.
saludos.
Cesar Cortes Cruz
SysCtrl Software
Mexico
' Sin +- FWH es mejor "
SysCtrl Software
Mexico
' Sin +- FWH es mejor "
Re: que clase nos permite RECONECTAR mas simple?
Leandro, amigos:
Me parece haber visto un comando para determinar el tiempo que la conexión debe permanecer activa
antes de desconectarse.
Saludos
Me parece haber visto un comando para determinar el tiempo que la conexión debe permanecer activa
antes de desconectarse.
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero