diff options
| author | Jon Schuff <jonathans@surveymonkey.com> | 2019-05-14 16:45:10 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2019-05-15 10:59:59 -0400 |
| commit | 02c18e753b26aa038ce47d0b46b8f0281093d88b (patch) | |
| tree | 779484ac149979c3d8debeeb621b246d4892f00d | |
| parent | d47034c314a97f8bbac04631ea86775678373f62 (diff) | |
| download | sqlalchemy-02c18e753b26aa038ce47d0b46b8f0281093d88b.tar.gz | |
Recognize message 20047 as disconnect event in MSDialect_pymssql
Added error code 20047 to "is_disconnect" for pymssql. Pull request
courtesy Jon Schuff.
Fixes: #4680
Closes: #4681
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/4681
Pull-request-sha: bc81c935ec0e352734d9ad1b322caf6d08079c3d
Change-Id: Ifc7ffc4c933b08a34fad537dc48e05d2cfa66d42
| -rw-r--r-- | doc/build/changelog/unreleased_13/4680.rst | 7 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mssql/pymssql.py | 1 | ||||
| -rw-r--r-- | test/dialect/mssql/test_engine.py | 3 |
3 files changed, 11 insertions, 0 deletions
diff --git a/doc/build/changelog/unreleased_13/4680.rst b/doc/build/changelog/unreleased_13/4680.rst new file mode 100644 index 000000000..f4ed1f8f6 --- /dev/null +++ b/doc/build/changelog/unreleased_13/4680.rst @@ -0,0 +1,7 @@ +.. change:: + :tags: bug, mssql + :tickets: 4680 + + Added error code 20047 to "is_disconnect" for pymssql. Pull request + courtesy Jon Schuff. + diff --git a/lib/sqlalchemy/dialects/mssql/pymssql.py b/lib/sqlalchemy/dialects/mssql/pymssql.py index b46c0a3f0..d8033f282 100644 --- a/lib/sqlalchemy/dialects/mssql/pymssql.py +++ b/lib/sqlalchemy/dialects/mssql/pymssql.py @@ -98,6 +98,7 @@ class MSDialect_pymssql(MSDialect): "Connection is closed", "message 20006", # Write to the server failed "message 20017", # Unexpected EOF from the server + "message 20047", # DBPROCESS is dead or not enabled ): if msg in str(e): return True diff --git a/test/dialect/mssql/test_engine.py b/test/dialect/mssql/test_engine.py index 431b20c7a..257e41bf8 100644 --- a/test/dialect/mssql/test_engine.py +++ b/test/dialect/mssql/test_engine.py @@ -292,6 +292,9 @@ class ParseConnectTest(fixtures.TestBase): "Error 10054", "Not connected to any MS SQL server", "Connection is closed", + "message 20006", # Write to the server failed + "message 20017", # Unexpected EOF from the server + "message 20047", # DBPROCESS is dead or not enabled ]: eq_(dialect.is_disconnect(error, None, None), True) |
