FoxPro/Visual FoxPro - Coneccion a base SQL

 
Vista:

Coneccion a base SQL

Publicado por Vicente (24 intervenciones) el 27/07/2011 23:02:03
Muy buenas, les planteo mi inquietud.

He diseñado una aplicacion en visual foxpro 9, el cual usa una clase para establece una coneccion a una base SQL usando ado, todo funciona bien, pero lo que necesito es controlar el siguiente evento:

Una vez que establece la conecion con la base de datos (logueandose con el user y el password) la aplicacion funciona normalmente, pero si por cualquier evento se pierde la coneccion con el server (problema fisico de la red, problema con el servidor, etc), se pierde la coneccion. Pero necesito que el aplicativo pueda restablecer la coneccion con el server y poder seguir en la ejecución del programa sin necesidad de salir del programa y volverse a loguear.

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Coneccion a base SQL

Publicado por edgardvd (135 intervenciones) el 16/08/2011 17:30:52
en tu rutina de errores yo utilizaria algo como esto:

* Si el error generado es 1466 que significa que se perdio la conexion a un servidor sql, trata de reconectar
IF mError = 1466
* Confirmar con el usuario si desea reconectar al servidor
IF MESSAGEBOX('Se ha perdio la conexion con el servidor SQL,reconectar?',36,'') = 6
* Intentar conectar al servidor (llamo mi funcion para conectar en tu caso llama la clase)
IF NOT ConectaSql()
* Mostrar error y cerrar la aplicacion
MESSAGEBOX('El servidor SQL no esta funcionando, reportelo al depto de sistemas',16,'')
RETURN .F.
ENDIF
ELSE
* No desea reconectar, hacer un ignore
RETURN .F.
ENDIF
ENDIF

algo asi haria yo, en este ejemplo le pregunto al usuario que si desea reestablecer la conexion, si no puedes tratar de hacerlo automaticamente con un do while ciclando la aplicacion asta que se conecte y si falla despues de ciertos intentos cerrar la app bueno es otra opcion

revisa tu numero de error que si es que se pierde la conexion al servidor es el 1466
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar