如何捕获特定的pyodbc错误消息

编程入门 行业动态 更新时间:2024-10-11 17:23:46
本文介绍了如何捕获特定的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)

我得到的错误消息格式是

The error message format i get is

('HY000', "[HY000] [MySQL][ODBC 5.1 Driver]Access denied for user 'root'@'192.168.2.27' (using password: YES) (1045) (SQLDriverConnect)")

我只想接收错误的消息部分,即

I want to receive just the message part of the error i.e.

Access denied for user 'root'@'192.168.2.27'(using password: YES)

我不知道我是否可以捕获错误,例如找不到驱动程序,主机关闭等.

I dont know if I can catch errors specifically like, driver not found, host down etc..

我也尝试捕获错误,例如:

I also tried catching errors as:

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)

但是最后一个总是捕获错误.

but the last one always catches the error.

此外,我还看到 pyodbc.Error.message 始终为空. 我如何只获取错误消息.

Fruthermore i saw the pyodbc.Error.message is always empty. How can i get just the message in the error.

谢谢

推荐答案

pyodbc似乎只是包装了基础ODBC实现中的错误/异常,因此您不太可能做到这一点.

pyodbc seems to just wrap the errors/exceptions from the underlying ODBC implementation, so it's unlikely that you will be able to do this.

更多推荐

如何捕获特定的pyodbc错误消息

本文发布于:2023-11-11 05:26:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1577504.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:错误   消息   pyodbc

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!