Я пытаюсь сделать несколько вставок в базу данных MSSQL, используя механизм SqlAlchemy.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 = «совершить», так что я нахожусь в потеря за то, почему это происходит. Любые идеи о том, как разрешить несколько вставок?
Ваш пример только вставляет. Вы говорите, что запуск этого кода несколько раз не работает? – univerio
Исправить. Теперь переменная данных - это список, содержащий множество записей, но в следующий раз, когда я попытаюсь запустить это, он терпит неудачу. – grromrell