【问题标题】:sqlalchemy pymssql "connection reset by peer" recoverysqlalchemy pymssql“对等连接重置”恢复
【发布时间】:2011-02-23 18:47:29
【问题描述】:

我正在运行一个cherrypy webservice,想知道最好的选择是从“对等连接重置”中恢复,以便通过sqlalchemy 进行pymssql 连接。现在我必须重新启动网络服务。

【问题讨论】:

    标签: sqlalchemy cherrypy pymssql


    【解决方案1】:

    这似乎是 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-07
      • 2020-02-25
      • 1970-01-01
      • 2013-09-13
      相关资源
      最近更新 更多