本文介紹了Pyodbc:如何防止通信鏈路故障、連接寫入和連接讀取錯(cuò)誤?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我正在使用pyodbc連接到我的SQL服務(wù)器。我的腳本大部分時(shí)間都會(huì)按預(yù)期運(yùn)行,但有時(shí)當(dāng)腳本對(duì)SQL數(shù)據(jù)庫(kù)執(zhí)行命令時(shí),我會(huì)收到以下三個(gè)錯(cuò)誤之一:
Pyodbc.Error:(‘08S01’,‘[08S01][Microsoft][ODBC SQL Server
驅(qū)動(dòng)程序]通信鏈路故障(0)(SQLExecDirectW)‘)Pyodbc.Error:(‘01000’,‘[01000][Microsoft][ODBC SQL Server
驅(qū)動(dòng)程序][DBNETLIB]ConnectionWrite(Send())。(10054)
(SQLExecDirectW)‘)Pyodbc.Error:(‘01000’,‘[01000][Microsoft][ODBC SQL Server
驅(qū)動(dòng)程序][DBNETLIB]ConnectionRead(recv())。(10054)(SQLExecDirectW)‘)
我可以做些什么來(lái)防止這種情況?
編輯:
我的腳本中的實(shí)際命令非常簡(jiǎn)單,所以我在最初的帖子中沒(méi)有提到它。
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驅(qū)動(dòng)程序17]TCP提供程序:錯(cuò)誤代碼0x68(104)(SQLExecDirectW)’)
我現(xiàn)在也有同樣的問(wèn)題,因?yàn)橄鄬?duì)于數(shù)據(jù)的長(zhǎng)度,字段的長(zhǎng)度不夠長(zhǎng)。加長(zhǎng)字段長(zhǎng)度將解決此問(wèn)題。
這篇關(guān)于Pyodbc:如何防止通信鏈路故障、連接寫入和連接讀取錯(cuò)誤?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,