报错提示
pyodbc.ProgrammingError:
(“ 42000”,“ [42000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]无法在事务内执行备份或还原操作。(3021)(SQLExecDirectW);
[42000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server] BACKUP DATABASE异常终止。(3013)')
解决方案
默认情况下,事务在pyodbc中启动,那么如何在不创建事务的情况下执行查询?只需打开自动提交:
经测试,只需一行代码即可解决,将创建的pyodbc连接自动commit属性设置为True
# 执行备份
conn.autocommit = true
# 执行查询
conn.autocommit = false