Perdida de Conexion al Servidor en Mysql

838 views
Skip to first unread message

pablo b(La Pampa)

unread,
Sep 13, 2011, 9:48:23 AM9/13/11
to Comunidad de Visual Foxpro en Español
Hola Amigos, hace poco como saben empece una aplicacion de nuevo para
hacer toda usando mysql y la arranque de 0. o sea vfp y mysql
el tema que me esta surgiendo medio seguido y recurro a uds a ver como
puedo hacer, el tema que una vez que ingrese a mi aplicacion y la
estoy usando y todo bien, por ahi cuando voy a abrir un form y me
tienen que traer los datos de las tablas en Mysql que estan en un
servidor me encuentro con que se perdio la conexion o por x motivo no
los puedo traer, el servidor es un hosting al cual accedo con mysql
remoto y funciona rapido y bien mediante la ip fija que tengo y demas.

La conexion que yo hago de las 3 opciones que en su momento pregunte
es la de estar siempre conectado al servidor, entonces lo que hago es
en un prg de inicio crear la conexion, poner la ip, bd y clave y se
conecta y arranca la aplicacion y todo bien hasta que por ahi se
pierde y soneeee, jajaja, el tema es como hago para recuperar la
conexion sin tener que salir de la aplicacion y volver a entrar, si
ejecuto de nuevo ese prg de algun lado me van a faltar las variables
del usuario y la clave para que este prg la lea e intente conectar
nuevamente ¿no? o como puedo hacer.

Muchas Gracias

Pablo

Intel Man

unread,
Sep 13, 2011, 9:54:05 AM9/13/11
to publice...@googlegroups.com
Hola, lo que tienes que hacer es cada vez que agregue,modifiques,borres datos de mysql conectarte y luego de terminar ese proceso (agregue,modifiques,borres), cierras la conexion.

Para esto tienes que tener procedimientos de abrir_conexion() y cerrar_conexion(), y lo llamas antes de agregar,modificar,borrar.

Eso es lo que siempre hago, ya que algunos hosting cierran la conexion despues de un tiempo de no usarlo.

Seria algo asi:

abrir_conexion()
=sqle(tuconexion,"agregar,modificar,borrar.")
cerrar_conexion()

Es lo mas recomendable en este caso.

Saludos




> Date: Tue, 13 Sep 2011 06:48:23 -0700
> Subject: [vfp] Perdida de Conexion al Servidor en Mysql
> From: panch...@gmail.com
> To: publice...@googlegroups.com

Mauricio Molinero,

unread,
Sep 13, 2011, 10:24:08 AM9/13/11
to Comunidad de Visual Foxpro en Español
Yo particularmente cree una rutina que verifica si esta conectado,
sino intenta reconectar varias veces con una pausa.

Saludos!

Mauricio R. Molinero,

Armando Rodríguez Bermúdez

unread,
Sep 13, 2011, 10:36:21 AM9/13/11
to publice...@googlegroups.com
Podrías validar antes de hacer consultas o actualizaciones, si se está
conectado a la base de datos:
Esta función, genera un cursor con la fecha actual. Si existe un error al
consultar, entonces se reconecta a la base de datos:

FUNCTION ChecaConDB
m.ResCon = SQLEXEC(m.lih,"select now()","csrNow")
IF m.Rescon = -1
=ConectaDB()
ENDIF
RETURN


FUNCTION ConectaDB
m.lih = SQLSTRINGCONNECT(lCadCon)
IF m.lih < 0
IF AERROR(laError) > 0
lcMsg = ""
FOR ln = 1 TO ALEN(laError,2)
lcMsg = lcMsg + TRANSFORM(laError(1,ln)) + CHR(13)
ENDFOR
MESSAGEBOX(lcMsg, 16, "Error de ODBC")
ENDIF
ENDIF
RETURN

Saludos
Armando


-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de pablo b(La Pampa)
Enviado el: martes, 13 de septiembre de 2011 08:48 a.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Perdida de Conexion al Servidor en Mysql

Muchas Gracias

Pablo

-----
Se certificó que el correo no contiene virus.
Comprobada por AVG - www.avg.es
Versión: 10.0.1392 / Base de datos de virus: 1520/3893 - Fecha de la
versión: 12/09/2011

Marco Plaza

unread,
Sep 13, 2011, 11:30:22 AM9/13/11
to Comunidad de Visual Foxpro en Español
Hola Pablo en este articulo se muestra como puedes manejar tu conexión
con un objeto.
El código fuente no requiere modificación, simplemente copialo,
instancias el objeto, defines los valores de la conexión y ya.
Es un programa corto , bájalo .. ( además hay mas links interesantes )

http://www.ml-consult.co.uk/download/sqlsend.prg

Saludos

Marco Plaza


On Sep 13, 10:36 am, Armando Rodríguez Bermúdez
> -----Mensaje original-----De:publice...@googlegroups.com[mailto:publice...@googlegroups.com]En nombre de pablo b(La Pampa)

Marco Plaza

unread,
Sep 13, 2011, 11:38:54 AM9/13/11
to Comunidad de Visual Foxpro en Español
Lo bueno es que simplemente haces la petición sql, si no hay
conexion, intentará conectarse, y si hay un error lo maneja. Puedes
simplemente instanciar el objeto de conexion al principio y ya.
También puede retornar el resultado al clipboard... indicar el timeout
y mas.

Cualquiera que desee también ver una forma clara y reusable de manejar
las conexiones puede echar un vistazo, se la recomiendo a todos.

http://www.ml-consult.co.uk/foxst-25.htm

Saludos.

Marco Plaza
> > -----Mensajeoriginal-----De:publice...@googlegroups.com[mailto:publice...@googlegroups.com]En nombre de pablo b(La Pampa)

Mauricio Molinero,

unread,
Sep 13, 2011, 3:58:00 PM9/13/11
to Comunidad de Visual Foxpro en Español
Si yo hice algo muy parecido (una clase custom SqlConnector) que lo
manejo con Cursor Adapter para adaptar la sintaxis de ANSI SQL al
formato MySql.

Saludos!

Mauricio R. Molinero,
Reply all
Reply to author
Forward
0 new messages