gpt4 book ai didi

python - 如何将 pymssql 死锁捕获为异常?

转载 作者:行者123 更新时间:2023-11-28 19:14:40 24 4
gpt4 key购买 nike

我们的一些数据挖掘工作陷入僵局并失去联系。挑战是我们想在 Python pymssql 模块因死锁而失败时捕捉到。

File "pymssql.pyx", line 465, in pymssql.Cursor.execute (pymssql.c:6572)
OperationalError: (1205, 'Transaction (Process ID 113) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.DB-Lib error message 20018, severity 13:\nGeneral SQL Server error: Check messages from the SQL Server\n')

我们已尝试将 CURSOR.EXECUTE 语句包装在 try/except 中,但它不会触发。

 try:
CURSOR.execute(query)
except (RuntimeError, TypeError, NameError):
print "RuntimeError: {0}".format(RuntimeError)

我们看到other examples对那些代码似乎陷入僵局的人来说,所以我们不确定为什么我们的代码没有陷入僵局。

有什么建议可以解决这个僵局吗?

当系统出现故障时,如果能够通过扩音器或其他警报器让我们知道,那就太好了。

最佳答案

我认为是:

try:
CURSOR.execute(query)
except pymssql.InterfaceError as e:
print "SQL Interface Error: "+str(e)

但我还在等待死锁的情况发生,所以我不确定 :) 不管怎样,下面将处理所有 pymssql 错误,包括 1205 死锁:

try:
CURSOR.execute(query)
except pymssql.Error as e:
print "SQL Error: "+str(e)

关于python - 如何将 pymssql 死锁捕获为异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35197442/

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