Consulta para comprobar si hay conexión o no

38 views
Skip to first unread message

avazq...@gmail.com

unread,
Jul 17, 2024, 6:34:19 PM7/17/24
to ado-h...@googlegroups.com

Buenas.

Si realizo una conexión oConn2 a otra sede para consultar o actualizar datos;

  • Si hay conexión todo perfecto
  • Pero si está apagado el servidor o no tiene conexión me lanza un mensaje en pantalla que me gustaría evitar, puesto que yo sé si hay conexión o no con oConn2:stata<>0

 

 

 

Pero quisiera evitar el mensaje de aviso cuando no hay conexión.

Se puede evitar de alguna manera?

Gracias

Saludos

Antonio Vázquez

Avazq...@gmail.com

 

image001.png

David Field

unread,
Jul 18, 2024, 6:03:34 PM7/18/24
to ADO Harbour
Hola Antonio,

Si hay forma de evitar el mensaje.
Fijate en ado.prg al final de la function ADOConn() verás:

TRY
oC:Open()
If !(oC:State > 0)
Msgbox("No se realizó la conexión")
Endif

CATCH
ADOError(oC, Database, Engine)
END SEQUENCE

Esto hace que el error se dirija a la funcion ADOError() en donde viene
If Engine == "MYSQL" // A mi experiencia, NativeError lo maneja cada SQL en forma distinta.
if oC:Errors[0]:NativeError = 160 .or. oC:Errors(0):NativeError = 0 // no existe el ODBC
MsgStop("Falta de complementos ODBC")
Elseif oC:Errors[0]:NativeError = 1045
MsgStop("Error en nombre de usuario o contraseña")
Elseif oC:Errors[0]:NativeError = 1049 // Base de datos no existe
MsgStop("Base de Datos "+Database+" no existe", "Error")
Else
msgbox("Native Error "+hb_CStr(oC:Errors[0]:NativeError)+Hb_OsNewLine()+oC:Errors[0]:Description,"Error" )
Endif
Else
msgbox("Native Error "+hb_CStr(oC:Errors[0]:NativeError)+Hb_OsNewLine()+oC:Errors[0]:Description,"Error" )
* msgbox(oC:Errors[0]:Description,"Native Error "+hb_CStr(oC:Errors[0]:NativeError) )
Endif

Y el mensaje que ves es el subrayado.
Lo que puedes hacer es agregar
Elseif oC:Errors(0):NativeError = 2003      // este es el Native Error que avienta al no poder conectar
y no presentar mensaje.

Me imagino que en tu programación tendrás incluido el verificar el status de la conexión.

Saludos,
David Field

Antonio Vázquez

unread,
Jul 19, 2024, 4:08:58 AM7/19/24
to ado-h...@googlegroups.com
Muchas gracias David.
Sí tengo implementado status.
Gracias por tus explicaciones.
Eres increíble.
Un abrazo.


From: ado-h...@googlegroups.com <ado-h...@googlegroups.com> on behalf of David Field <david...@gmail.com>
Sent: Friday, July 19, 2024 12:03:33 AM
To: ADO Harbour <ado-h...@googlegroups.com>
Subject: [ADO Harbour] Re: Consulta para comprobar si hay conexión o no
 
--
Has recibido este mensaje porque estás suscrito al grupo "ADO Harbour" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a ado-harbour...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/ado-harbour/ec9646b8-887e-403a-bf1e-af76967b0887n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages