gpt4 book ai didi

python - MSSQL 中插入时的 SQLAlchemy 回滚

转载 作者:太空宇宙 更新时间:2023-11-03 16:28:03 26 4
gpt4 key购买 nike

我正在尝试直接使用 SqlAlchemy 引擎对 MSSQL 数据库进行多次插入。

table = metadata.tables['TestTable']
ins = table.insert()
with engine.begin() as conn:
conn.execute(ins, data)

第一次插入不会有问题。第二次插入将尝试运行然后执行回滚,然后回滚将失败并出现以下错误:

sqlalchemy.exc.ProgrammingError: (pyodbc.ProgrammingError) ('25000', '[25000' [FreeTDS][SQL Server]The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION. (3903)(SQLEndTran)')

我已经改变了队列池的行为以使用reset_on_return =“commit”,所以我不知道为什么会发生这种情况。关于如何允许多次插入有什么想法吗?

最佳答案

事实证明,当事务出现错误时,无论你是否将reset_on_return设置为“commit”,SQLAlchemy仍然会回滚。我试图从 pandas 数据帧插入 np.nan 值,导致错误。

关于python - MSSQL 中插入时的 SQLAlchemy 回滚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37846515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com