python-sybase事务在更新时无提示失败

时间:2013-11-18 10:08:30

标签: python transactions sybase

我们使用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")

begin tran不需要commit tranauto_commit语句,但这是代码的提供方式。)

我们看到的失败率大概有5%。我们如何检测update语句的失败?

1 个答案:

答案 0 :(得分:0)

我认为这是python-sybase版本的问题,包括0.39。来自release notes

  

自0.39以来的主要变化:

     

[snip]

     

当Sybase处于死锁状态时添加了新的异常DeadLockError

我们无法设置0.40安装以确认,但上述情况可能是原因。