我TRID下面的代碼,如何捕捉特定pyodbc錯誤信息
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)
錯誤信息格式我得到的是
('HY000', "[HY000] [MySQL][ODBC 5.1 Driver]Access denied for user 'root'@'192.168.2.27' (using password: YES) (1045) (SQLDriverConnect)")
我想只接收錯誤的消息部分即
Access denied for user 'root'@'192.168.2.27'(using password: YES)
我不知道我是否可以特意抓到錯誤,找不到驅動程序,找不到主機等。
我也試圖捕捉錯誤爲:
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)
但最後一個總是捕獲錯誤。
Fruthermore我看到了pyodbc.Error.message總是空的。 我怎樣才能得到錯誤中的消息。
感謝
謝謝。這意味着我必須使用正則表達式,如果可能的話,或者保持原樣,是不是:) – ashokadhikari 2012-08-03 05:28:24