2017-09-25 87 views
1

我們已經有一個使用pymssql的Flask應用程序,它在Python 2.7和SQL Server 2012下運行了1.5年。我們將應用程序移動到一組新服務器並升級了Flask應用程序到Python 3.6和新的數據庫服務器到SQL Server 2016.他們都是Windows服務器。升級到Python 3.6和SQL Server 2016後Pymssql錯誤20017

從那時起,我們已經得到間歇20017個錯誤:

pymssql.OperationalError(20017,b'DB-Lib的錯誤信息20017,嚴重性9:\從服務器nUnexpected EOF(xx.xx.xx .xx:1433)\ nDB-Lib錯誤消息20002,嚴重性9:\ n自適應服務器連接失敗(xx.xx.xx.xx:1433)\ n')

只有一小部分調用返回此值,但足以造成問題。我可以提供我們正在運行的所有內容的特定版本。

提出的一種解決方案是切換到pyodbc,但我們有數百個查詢和存儲過程調用,其中許多使用UUID,pyodbc幾乎不像pymssql那樣乾淨。

我已經通過預編譯輪安裝了pymssql(pymssql-2.1.3-cp36-cp36m-win_amd64),因爲pip無法在沒有舊版本的情況下構建它。

有關調試或修復此問題的任何想法都會有所幫助。

回答

1

那麼,我們的答案是切換到pyodbc。幾個實用函數使得它幾乎成爲一個剪切和粘貼,其中有幾個陷阱,但在過去的幾年中,pymssql的構建,升級和使用越來越困難。

相關問題