From: Rick Morrison Date: Tue, 8 Apr 2008 19:09:33 +0000 (+0000) Subject: Add a new 'odbc_autotranslate' engine/dburi kwd parm to the MSSQL pyodbc dialect... X-Git-Tag: rel_0_5beta1~189 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a27cc907a55ed7172fda97f7db2732ea54ba7dae;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Add a new 'odbc_autotranslate' engine/dburi kwd parm to the MSSQL pyodbc dialect; string kwd contents will be passed through to ODBC connection string. [ticket:1005] --- diff --git a/CHANGES b/CHANGES index cf7df2c730..9abc4a249a 100644 --- a/CHANGES +++ b/CHANGES @@ -25,6 +25,16 @@ CHANGES callables or a (possibly partial) duck-type of PoolListener, your choice. +- mssql + - Added "odbc_autotranslate" parameter to engine / dburi + parameters. Any given string will be passed through to + the ODBC connection string as + "AutoTranslat=%s" % odbc_autotranslate + [ticket:1005] + + + + 0.4.5 ===== - orm diff --git a/lib/sqlalchemy/databases/mssql.py b/lib/sqlalchemy/databases/mssql.py index e0bf2e6bb6..6cc5f4fd34 100644 --- a/lib/sqlalchemy/databases/mssql.py +++ b/lib/sqlalchemy/databases/mssql.py @@ -792,7 +792,14 @@ class MSSQLDialect_pyodbc(MSSQLDialect): connectors.append("UID=%s" % user) connectors.append("PWD=%s" % keys.get("password", "")) else: - connectors.append ("TrustedConnection=Yes") + connectors.append("TrustedConnection=Yes") + + # if set to 'Yes', the ODBC layer will try to automagically convert + # textual data from your database encoding to your client encoding + # This should obviously be set to 'No' if you query a cp1253 encoded + # database from a latin1 client... + if 'odbc_autotranslate' in keys: + connectors.append("AutoTranslate=%s" % keys.pop("odbc_autotranslate")) return [[";".join (connectors)], {}] def is_disconnect(self, e):