2015-09-23 39 views
0

我正在尝试使用名称创建事务。稍后可能会回滚。pymssql使用名称创建事务

pid = os.getpid() 
cursor.execute("BEGIN TRAN trans{0}".format(pid)) 
cursor.execute("ROLLBACK TRAN trans{0}".format(pid)) 

当我写的代码像上面,它提高了以下错误:

pymssql.OperationalError: (6401, 'Cannot roll back trans5713. 
No transaction or savepoint of that name was found.DB-Lib error 
message 20018, severity 16:\nGeneral SQL Server error: 
Check messages from the SQL Server\n') 

但是,当我删除名称部分tran{0},它不会引发任何错误。

  1. 我应该如何在pymssql中创建一个事务。我明白,当我建立联系时,它会处于交易状态。但是,我希望交易被命名!
+0

你试过设置connection.autocommit()为False? – frlan

+0

默认为false – Surya

+0

是的,我在文档中看到过它。由于你的例子很安静,我想确保它真的是这样。 – frlan

回答