diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-12-18 18:55:14 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-12-18 18:55:14 +0000 |
| commit | 7f7a908d20bbd91882de8e43d3e66d836e27958a (patch) | |
| tree | dc3d16a80d6af5be49267e0374d84f55fd0ac637 /lib/sqlalchemy/connectors/pyodbc.py | |
| parent | b9657c763a88921ab456992f061a52b4fe08deb2 (diff) | |
| download | sqlalchemy-7f7a908d20bbd91882de8e43d3e66d836e27958a.tar.gz | |
- All pyodbc-dialects now support extra pyodbc-specific
kw arguments 'ansi', 'unicode_results', 'autocommit'.
[ticket:1621]
Diffstat (limited to 'lib/sqlalchemy/connectors/pyodbc.py')
| -rw-r--r-- | lib/sqlalchemy/connectors/pyodbc.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/sqlalchemy/connectors/pyodbc.py b/lib/sqlalchemy/connectors/pyodbc.py index ebe28c682..30a7f98d0 100644 --- a/lib/sqlalchemy/connectors/pyodbc.py +++ b/lib/sqlalchemy/connectors/pyodbc.py @@ -1,4 +1,5 @@ from sqlalchemy.connectors import Connector +from sqlalchemy.util import asbool import sys import re @@ -28,6 +29,11 @@ class PyODBCConnector(Connector): keys = opts query = url.query + connect_args = {} + for param in ('ansi', 'unicode_results', 'autocommit'): + if param in keys: + connect_args[param] = asbool(keys.pop(param)) + if 'odbc_connect' in keys: connectors = [urllib.unquote_plus(keys.pop('odbc_connect'))] else: @@ -58,8 +64,8 @@ class PyODBCConnector(Connector): connectors.append("AutoTranslate=%s" % keys.pop("odbc_autotranslate")) connectors.extend(['%s=%s' % (k,v) for k,v in keys.iteritems()]) - return [[";".join (connectors)], {}] - + return [[";".join (connectors)], connect_args] + def is_disconnect(self, e): 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) |
