2011-02-23 116 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 
相關問題