diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2017-09-28 12:07:19 -0400 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@ci.zzzcomputing.com> | 2017-09-28 12:07:19 -0400 |
| commit | 4a2760ffd227af7b5aead674e3c2f72b28617a12 (patch) | |
| tree | cd6dc59cbbe040066455f8e0f5f75987faf7099b /lib | |
| parent | 1ec7ba52e1c7e6d232223912f154e25252fb9b92 (diff) | |
| parent | 6a38697261e271b3600d8f1bbc56f663e5ee9890 (diff) | |
| download | sqlalchemy-4a2760ffd227af7b5aead674e3c2f72b28617a12.tar.gz | |
Merge "Add full list of pyodbc error codes for MSSQL"
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/sqlalchemy/connectors/pyodbc.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mssql/pyodbc.py | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/sqlalchemy/connectors/pyodbc.py b/lib/sqlalchemy/connectors/pyodbc.py index b95b2964f..3e1d1a330 100644 --- a/lib/sqlalchemy/connectors/pyodbc.py +++ b/lib/sqlalchemy/connectors/pyodbc.py @@ -111,8 +111,6 @@ class PyODBCConnector(Connector): if isinstance(e, self.dbapi.ProgrammingError): return "The cursor's connection has been closed." in str(e) or \ 'Attempt to use a closed connection.' in str(e) - elif isinstance(e, self.dbapi.Error): - return '[08S01]' in str(e) else: return False diff --git a/lib/sqlalchemy/dialects/mssql/pyodbc.py b/lib/sqlalchemy/dialects/mssql/pyodbc.py index a667b671e..6fd4fc554 100644 --- a/lib/sqlalchemy/dialects/mssql/pyodbc.py +++ b/lib/sqlalchemy/dialects/mssql/pyodbc.py @@ -275,4 +275,14 @@ class MSDialect_pyodbc(PyODBCConnector, MSDialect): version.append(n) return tuple(version) + def is_disconnect(self, e, connection, cursor): + if isinstance(e, self.dbapi.Error): + for code in ( + '08S01', '01002', '08003', '08007', + '08S02', '08001', 'HYT00', 'HY010'): + if code in str(e): + return True + return super(MSDialect_pyodbc, self).is_disconnect( + e, connection, cursor) + dialect = MSDialect_pyodbc |
