我正在使用pyodbc连接到我的SQL服务器 . 我的脚本按预期运行大部分时间,但有时当脚本使用SQL数据库执行命令时,我会得到这3个错误中的任何一个:
pyodbc.Error:('08S01','[08S01] [Microsoft] [ODBC SQL Server驱动程序]通信链接失败(0)(SQLExecDirectW)')pyodbc.Error:('01000','[01000] [Microsoft] [ODBC SQL Server驱动程序] [DBNETLIB] ConnectionWrite(send()) . (10054)(SQLExecDirectW)')pyodbc.Error:('01000','[01000] [Microsoft] [ODBC SQL Server驱动程序] [DBNETLIB] ConnectionRead (recv()) . (10054)(SQLExecDirectW)')
我该怎么做才能防止这种情况发生?
编辑:我的脚本中的实际命令非常基本,所以我没有在原帖中提到它 .
import pyodbc
connectionString1 = 'x'
connection1 = pyodbc.connect(connectionString1)
cursor1 = connection1.cursor()
query1 = '''
SELECT/UPDATE ...
'''
cursor1.execute(query1)
res = cursor1.fetchall()
# do some operations using res
connection1.commit()
1 回答
下面的示例看起来像解决相同的问题,解决方案也可以工作 .
pyodbc: How to retry to recover from Transient errors?