gpt4 book ai didi

python - 如何从 PYODBC 返回错误

转载 作者:太空狗 更新时间:2023-10-30 00:54:35 25 4
gpt4 key购买 nike

我正在连接到 SQL Server 以执行存储过程。如果 SP 花费的时间超过 60 秒/3600 秒等,“轮询”服务器以确定存储过程是否成功运行或返回错误的正确方法是什么?

import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server}; SERVER=ServerName; PORT=1433;DATABASE=dbname;UID=%s;PWD=%s' % (username, password))
cnxn.execute("EXECUTE msdb.dbo.sp_start_job 'TestSP'")
<pyodbc.Cursor object at 0x0000000002D6DDB0>

如何确定 SP 的状态?

最佳答案

考虑将 execute 包装在 try/except 中以捕获异常(encompass errors)。如果未出现错误,则假定 execute 运行正确。另外,使用 timeout variable (以秒为单位)因为如果发生超时,数据库应该引发 OperationError

cnxn = pyodbc.connect('DRIVER={SQL Server}; SERVER=ServerName; PORT=1433; \
DATABASE=dbname;UID={0};PWD={1}'.format(username, password))

cnxn.timeout = 60
cursor = cnxn.cursor()
try:
cnxn.execute("EXECUTE msdb.dbo.sp_start_job 'TestSP'")
except Exception as e:
print(e)

关于python - 如何从 PYODBC 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36924137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com