Como ejemplo intentaremos ejecutar un comando SELECT de una tabla que no existe en el servidor de datos remoto.
Tambien capturamos el error con AERROR() si la conexión falla.
LOCAL lnHandle, laError, lcMsg, ln
DIMENSION laError[1]
*-- Especificar el DSN, Usuario y Contraseña correctos
lnHandle = SQLCONNECT('[Origen de datos SQL]','sa','')
IF lnHandle > 0
SQLEXEC(lnHandle,'SELECT * FROM TablaQueNoExiste')
IF AERROR(laError) > 0
*-- Ocurrio un error
* DISPLAY MEMORY LIKE laError
lcMsg = ""
FOR ln = 1 TO ALEN(laError,2)
lcMsg = lcMsg + TRANSFORM(laError(1,ln)) + CHR(13)
ENDFOR
MESSAGEBOX(lcMsg, 16, "Error de ODBC")
ENDIF
SQLDISCONNECT(lnHandle)
ELSE
IF AERROR(laError) > 0
*-- Ocurrio un error
* DISPLAY MEMORY LIKE laError
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
AERROR( ) crea una matriz con siete columnas y devuelve el número de filas de la matriz. El tipo de error que se produce determina el número de filas de la matriz.Para mayor información vea la ayuda de la función AERROR().
Luis María Guayán
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.