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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章