智慧树桩 2023-10-20 17:45 采纳率: 87.5%
浏览 21
已结题

Python 如何捕获SQL server语句执行的报错提示

用的SQL server数据库,利用Python进行系统开发时经常用到存储过程,但存储过程执行时有可能会报错,数据库会抛出错误信息,Python怎么也没办法获取。
try except可以获取Python的错误提示,但不是SQL server数据库抛出的错误提示。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-20 20:30
    关注

    【以下回答由 GPT 生成】

    如果你想在Python程序中捕获SQL Server语句执行的报错提示,并获取数据库抛出的错误信息,可以使用pyodbc库来实现。

    下面是一个示例代码,其中演示了如何连接到SQL Server数据库并执行一个有错误的SQL语句,并捕获错误信息:

    import pyodbc
    
    # 连接到SQL Server数据库
    conn = pyodbc.connect('DRIVER={SQL Server};SERVER=<服务器地址>;DATABASE=<数据库名>;UID=<用户名>;PWD=<密码>')
    
    # 创建一个游标
    cursor = conn.cursor()
    
    try:
        # 执行SQL语句(这里假设执行的是一个有错误的存储过程)
        cursor.execute('{CALL <存储过程名>}')
    
        # 如果没有出错,可以获取结果
        result = cursor.fetchone()
        print(result)
    except pyodbc.Error as err:
        # 出错时打印错误信息
        print(f"SQL Server Error: {err}")
    finally:
        # 关闭游标和连接
        cursor.close()
        conn.close()
    

    你需要将 <服务器地址>, <数据库名>, <用户名><密码> 替换为实际的连接信息,将 <存储过程名> 替换为要执行的存储过程名。

    通过pyodbc.Error类,你可以捕获SQL Server数据库执行过程中的错误信息,并打印出来。

    请确保你已经安装了pyodbc库,可以通过pip install pyodbc命令来进行安装。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月12日
  • 已采纳回答 8月4日
  • 修改了问题 10月20日
  • 创建了问题 10月20日

悬赏问题

  • ¥20 用户端如何上传图片到服务器和数据库里
  • ¥15 现在研究生在烦开题,看了一些文献,但不知道自己要做什么,求指导。
  • ¥15 vivado封装时总是显示缺少一个dcp文件
  • ¥100 pxe uefi启动 tinycore
  • ¥15 我pycharm运行jupyter时出现Jupyter server process exited with code 1,然后打开cmd显示如下
  • ¥15 可否使用carsim-simulink进行四轮独立转向汽车的联合仿真,实现四轮独立转向汽车原地旋转、斜向形式、横移等动作,如果可以的话在carsim中如何进行相应设置
  • ¥15 Caché 2016 在Java环境通过jdbc 执行sql报Parameter list mismatch错误,但是同样的sql使用连接工具可以查询出数据
  • ¥15 疾病的获得与年龄是否有关
  • ¥15 opencv.js内存,CPU飙升
  • ¥15 植物重测序snp数据Treemix分析出现问题!