私たちは、Python 2.7とSQL Server 2012の下で1.5年間稼働しているpymssqlを使ってFlaskアプリケーションを作成しました。アプリケーションを新しいセットのサーバーに移動し、 appを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 ')
コールのうち、問題を引き起こすほど十分です。実行しているすべてのバージョンの特定のバージョンを提供できます。
解決策の1つは、pyodbcに切り替えることですが、何百ものクエリとストアドプロシージャ呼び出しがあります。多くの場合、pyodbcはpymssqlほどきれいに扱えないUUIDを持っています。
私は、プリコンパイルされたホイール(pymssql-2.1.3-cp36-cp36m-win_amd64)を使ってpymssqlをインストールしました.pipは以前のバージョンがなくてもビルドできないからです。
これをデバッグまたは修正するためのアイデアが参考になります。