【发布时间】:2015-09-23 11:17:45
【问题描述】:
我正在尝试使用名称创建交易。可能会在稍后回滚。
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} 时,它不会引发任何错误。
- 我应该如何在 pymssql 中创建事务。我了解,当我建立连接时,它属于交易。但是,我希望交易被命名!
【问题讨论】:
-
您是否尝试过将 connection.autocommit() 设置为 False?
-
默认为false
-
是的,我在文档中看到过。由于您的示例很少,我想确保它真的是这样。
标签: python sql-server database pymssql