pymssql 使用名称创建事务
Posted
技术标签:
【中文标题】pymssql 使用名称创建事务【英文标题】:pymssql create transaction with name 【发布时间】:2015-09-23 11:17:45 【问题描述】:我正在尝试使用名称创建交易。可能会在稍后回滚。
pid = os.getpid()
cursor.execute("BEGIN TRAN trans0".format(pid))
cursor.execute("ROLLBACK TRAN trans0".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')
但是,当我删除名称部分 tran0
时,它不会引发任何错误。
-
我应该如何在 pymssql 中创建事务。我了解,当我建立连接时,它属于交易。但是,我希望交易被命名!
【问题讨论】:
您是否尝试过将 connection.autocommit() 设置为 False? 默认为false 是的,我在文档中看到过。由于您的示例很少,我想确保它真的是这样。 【参考方案1】:您不必通过 SQL 来完成。只需使用 Class Connection 中的函数,即 Connection.rollback() 和 Connection.commit()。
http://pymssql.org/en/stable/ref/pymssql.html#connection-object-methods
【讨论】:
以上是关于pymssql 使用名称创建事务的主要内容,如果未能解决你的问题,请参考以下文章
无法使用带有 Windows 身份验证的 pymssql 进行连接