Funciones de manejo de errores en Python
En ocasiones se producen problemas al intentar conectarse a una base de datos o emitir una sentencia de SQL. Puede que el nombre de usuario o la contraseña sean incorrectos, que un nombre de tabla o columna se haya escrito mal o que la sentencia de SQL no sea válida. La API ibm_db proporciona funciones de manejo de errores para
ayudarle a recuperarse sin problemas de las situaciones de error.
Errores de conexión
Utilice una de las funciones listadas para recuperar información de diagnóstico si falla un intento de conexión.
| Función | Descripción |
|---|---|
| ibm_db.conn_error | Recupera el SQLSTATE devuelto por el último intento de conexión. |
| ibm_db. conn_errormsg | Recupera un mensaje de error descriptivo adecuado a la anotación cronológica de errores de la aplicación |
Errores de SQL
Utilice una de las funciones listadas para recuperar información de diagnóstico si falla un intento de preparar o ejecutar una sentencia de SQL o de captar un resultado de un conjunto de resultados.
| Función | Descripción |
|---|---|
| ibm_db.stmt_error | Recupera el SQLSTATE devuelto por el último intento de preparar o ejecutar una sentencia de SQL o de captar un resultado de un conjunto de resultados. |
| ibm_db.stmt_errormsg | Recupera un mensaje de error descriptivo adecuado a la anotación cronológica de errores de la aplicación |
Para obtener más información sobre la API ibm_db, consulte http://code.google.com/p/ibm-db/wiki/APIs.
Ejemplo
Ejemplo 1: Manejo de errores de conexión
import ibm_db
try:
conn = ibm_db.connect("database","username","password")
except:
print "no connection:", ibm_db.conn_errormsg()
else:
print "The connection was successful" Ejemplo 2: Manejo de errores de SQL
import ibm_db
conn = ibm_db.connect("database","username","password")
sql = "DELETE FROM EMPLOYEE"
try:
stmt = ibm_db.exec_immediate(conn, sql)
except:
print "Transaction couldn't be completed:" , ibm_db.stmt_errormsg()
else:
print "Transaction complete."