I TrID el siguiente código,cómo atrapar errores pyodbc específica mensaje
import pyodbc
try:
pyodbc.connect('DRIVER={%s};SERVER=%s;DATABASE=%s;UID=%s;PWD=%s' % (driver, server, database, uid, password))
except pyodbc.Error, err:
logging.warn(err)
El formato del mensaje de error que consigo es
('HY000', "[HY000] [MySQL][ODBC 5.1 Driver]Access denied for user 'root'@'192.168.2.27' (using password: YES) (1045) (SQLDriverConnect)")
Quiero recibir solo la parte del mensaje del error es decir
Access denied for user 'root'@'192.168.2.27'(using password: YES)
No sé si puedo detectar errores específicamente como, controlador no encontrado, host abajo, etc.
También probé la captura de errores como:
except pyodbc.OperationalError, err:
logging.warn(err)
except pyodbc.DataError, err:
logging.warn(err)
except pyodbc.IntegrityError, err:
logging.warn(err)
except pyodbc.ProgrammingError, err:
logging.warn(err)
except pyodbc.NotSupportedError, err:
logging.warn(err)
except pyodbc.DatabaseError, err:
logging.warn(err)
except pyodbc.Error, err:
logging.warn(err)
pero el último siempre captura el error.
Fruthermore vi el pyodbc.Error.message siempre está vacío. ¿Cómo puedo obtener solo el mensaje en el error?
Gracias
Gracias. Eso significa que tengo que usar Regex, si es posible, o dejarlo como está, ¿no es así? :) – ashokadhikari