Python通过pyodbc执行SQL Server数据库备份语句报错:无法在事务内执行备份或还原操作

报错提示

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
发布了66 篇原创文章 · 获赞 81 · 访问量 58万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章