diff options
-rw-r--r-- | lib/sqlalchemy/dialects/mssql/pymssql.py | 2 | ||||
-rw-r--r-- | test/dialect/test_mssql.py | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/pymssql.py b/lib/sqlalchemy/dialects/mssql/pymssql.py index c86ebefb3..b916612fb 100644 --- a/lib/sqlalchemy/dialects/mssql/pymssql.py +++ b/lib/sqlalchemy/dialects/mssql/pymssql.py @@ -85,6 +85,8 @@ class MSDialect_pymssql(MSDialect): def is_disconnect(self, e, connection, cursor): for msg in ( + "Adaptive Server connection timed out", + "message 20003", # connection timeout "Error 10054", "Not connected to any MS SQL server", "Connection is closed" diff --git a/test/dialect/test_mssql.py b/test/dialect/test_mssql.py index 08c72a0ec..def70207e 100644 --- a/test/dialect/test_mssql.py +++ b/test/dialect/test_mssql.py @@ -1321,6 +1321,12 @@ class ParseConnectTest(fixtures.TestBase, AssertsCompiledSQL): 'user': 'scott', 'database': 'test'}], connection ) + def test_pymssql_disconnect(self): + dialect = pymssql.dialect() + + for error in ['Adaptive Server connection timed out', 'message 20003']: + eq_(dialect.is_disconnect(error, None, None), True) + @testing.only_on(['mssql+pyodbc', 'mssql+pymssql'], "FreeTDS specific test") def test_bad_freetds_warning(self): engine = engines.testing_engine() |