sqlalchemy pymssql "восстановление соединения по сети" восстановление - PullRequest
0 голосов
/ 23 февраля 2011

Я использую веб-сервис cherrypy и задаюсь вопросом, что лучше всего восстановить после «сброса соединения по пиру» для соединения pymssql через sqlalchemy.Прямо сейчас мне нужно перезапустить веб-сервис.

1 Ответ

1 голос
/ 20 мая 2011

Это, похоже, ошибка в методе is_disconnect () для pymssql, где он игнорирует ошибки 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...