【发布时间】:2013-12-01 10:38:51
【问题描述】:
我们正在使用 python-sybase 0.38 以事务方式执行更新语句。我们看到事务由于 Sybase 日志中的死锁而失败,但是,python 函数调用似乎没有任何错误地执行 - 没有引发异常(但行没有更新)。
syb = Sybase.connect(server, user, password, database, auto_commit = 1)
syb.execute("begin tran")
syb.execute("update ....")
syb.execute("commit tran")
(auto_commit 不需要 begin tran 和 commit tran 语句,但这是提供代码的方式)。
我们在大约 5% 的案例中看到了失败。我们如何检测update 语句的失败?
【问题讨论】:
-
您是否尝试过检查
@@error或在更新命令中使用raiserror在事务未完成时检查/通知?此外,您可能想确定导致死锁的原因,看看您是否可以阻止它们发生。
标签: python transactions sybase