ho Trid il seguente codice,come catturare l'errore pyodbc specifica dei messaggi di
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)
Il formato del messaggio di errore che ottengo è
('HY000', "[HY000] [MySQL][ODBC 5.1 Driver]Access denied for user 'root'@'192.168.2.27' (using password: YES) (1045) (SQLDriverConnect)")
voglio ricevere solo la parte del messaggio dell'errore cioè
Access denied for user 'root'@'192.168.2.27'(using password: YES)
non so se riesco a rilevare gli errori in particolare come, driver non trovato, ospiterà giù ecc ..
Ho provato anche la cattura di errori come:
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)
ma l'ultima cattura sempre l'errore.
Fruthermore ho visto il pyodbc.Error.message è sempre vuoto. Come posso ottenere il messaggio nell'errore.
Grazie
Grazie. Ciò significa che devo usare Regex, se possibile, o lasciarlo così com'è, no? :) – ashokadhikari