0
저는 cherrypy 웹 서비스를 실행 중이며 sqlalchemy를 통한 pymssql 연결에 대해 "피어에 의한 연결 재설정"에서 복구하는 것이 가장 좋습니다. 지금 나는 webservice를 다시 시작해야합니다.sqlalchemy pymssql "피어에 의한 연결 재설정"
저는 cherrypy 웹 서비스를 실행 중이며 sqlalchemy를 통한 pymssql 연결에 대해 "피어에 의한 연결 재설정"에서 복구하는 것이 가장 좋습니다. 지금 나는 webservice를 다시 시작해야합니다.sqlalchemy pymssql "피어에 의한 연결 재설정"
이 문제는 pymssql의 is_disconnect() 메소드에서 TCP 연결 및 시간 초과 오류를 무시하고 커서를 불만족스러운 상태로 만드는 버그로 보입니다. http://www.sqlalchemy.org/trac/ticket/2172을 참조하십시오. 지금은 원숭이 패치로 다음과 같이 입력 할 수 있습니다.
from sqlalchemy.dialects.mssql import pymssql
def is_disconnect(self, e):
for msg in (
"20003",
"20004",
"Error 10054",
"Not connected to any MS SQL server",
"Connection is closed"
):
if msg in str(e):
return True
else:
return False
pymssql.MSDialect_pymssql.is_disconnect = is_disconnect