2011-02-23 115 views

回答

0

这似乎是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 
相关问题