2017-09-25 1 views
1

Python 2.7 및 SQL Server 2012에서 1.5 년 동안 실행되는 pymssql을 사용하여 Flask 응용 프로그램을 만들었습니다. 우리는 응용 프로그램을 새로운 서버 집합으로 이동하고 Flask app을 Python 3.6에, 새로운 데이터베이스 서버를 SQL Server 2016에 추가했습니다. 둘 다 Windows 서버입니다.Python 3.6 및 SQL Server 2016로 업그레이드 한 후 Pymssql 오류 20017

그 이후로, 우리가지고있어 간헐적 20017 오류 :

pymssql.OperationalError (20017, b'DB - 해방 오류 메시지 20017, 심각도 9 : 서버에서 nUnexpected EOF \ (xx.xx.xx .xx : 1433) \ nDB-Lib 오류 메시지 20002, 심각도 9 : \ n 적응 서버 연결 실패 (xx.xx.xx.xx : 1433) \ n ')

그러나 문제를 일으키기에 충분합니다. 실행중인 모든 버전의 특정 버전을 제공 할 수 있습니다.

제안 된 해결책 중 하나는 pyodbc로 전환하는 것이지만 수백 개의 쿼리와 저장 프로 시저 호출이 있으며 대부분 UUID가 있으며 pyodbc는 pymssql만큼 깔끔하게 처리하지 못합니다.

pip는 이전 버전이 없으면 빌드 할 수 없으므로 미리 컴파일 된 휠 (pymssql-2.1.3-cp36-cp36m-win_amd64)을 통해 pymssql을 설치했습니다.

디버깅 또는 수정에 대한 아이디어가 도움이 될 것입니다.

답변

1

글쎄, 우리 대답은 pyodbc로 전환했다. 몇 가지 유틸리티 함수를 사용하여 여기 저기에 몇 가지 문제가있는 잘라내 기와 붙여 넣기를 만들었지 만 pymssql은 지난 몇 년 동안 빌드, 업그레이드 및 사용하기가 점점 어려워졌습니다.