Pyodbc:如何防止通信链路故障、连接写入和连接读取错误?

人气:280 发布:2022-10-16 标签: python sql-server sql-server-2012 azure-sql-database pyodbc

问题描述

我正在使用pyodbc连接到我的SQL服务器。我的脚本大部分时间都会按预期运行,但有时当脚本对SQL数据库执行命令时,我会收到以下三个错误之一:

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()

sqlalchemy.exc.OperationalError:

推荐答案

sqlalChemy.ex.OperationalError:(pyodbc.OperationalError)(‘08S01’,‘[08S01][Microsoft][用于SQL Server的ODBC驱动程序17]TCP提供程序:错误代码0x68(104)(SQLExecDirectW)’)

我现在也有同样的问题,因为相对于数据的长度,字段的长度不够长。加长字段长度将解决此问题。

156