diff options
| author | Philip Jenvey <pjenvey@underboss.org> | 2009-08-11 04:16:48 +0000 |
|---|---|---|
| committer | Philip Jenvey <pjenvey@underboss.org> | 2009-08-11 04:16:48 +0000 |
| commit | cd33d09ce08f04078840b322d203a9f262513a3f (patch) | |
| tree | 363204542f015c62b7baa5440ca53fa2152e6225 /lib/sqlalchemy/dialects | |
| parent | 57fe160fe772469a000c60d3c8fe98e882c97e8f (diff) | |
| download | sqlalchemy-cd33d09ce08f04078840b322d203a9f262513a3f.tar.gz | |
o default Connector/J's characterEncoding=UTF-8 for generally better JDBC
unicode handling
o pass url query params down as jdbc connect opts
Diffstat (limited to 'lib/sqlalchemy/dialects')
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/zxjdbc.py | 11 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/oracle/zxjdbc.py | 9 |
2 files changed, 12 insertions, 8 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/zxjdbc.py b/lib/sqlalchemy/dialects/mysql/zxjdbc.py index 6cdc6f438..fddbfaabd 100644 --- a/lib/sqlalchemy/dialects/mysql/zxjdbc.py +++ b/lib/sqlalchemy/dialects/mysql/zxjdbc.py @@ -6,6 +6,15 @@ JDBC Driver The official MySQL JDBC driver is at http://dev.mysql.com/downloads/connector/j/. +Character Sets +-------------- + +SQLAlchemy zxjdbc dialects pass unicode straight through to the +zxjdbc/JDBC layer. To allow multiple character sets to be sent from the +MySQL Connector/J JDBC driver, by default SQLAlchemy sets its +``characterEncoding`` connection property to ``UTF-8``. It may be +overriden via a ``create_engine`` URL parameter. + """ import re @@ -71,7 +80,7 @@ class MySQL_jdbc(ZxJDBCConnector, MySQLDialect): def _driver_kwargs(self): """return kw arg dict to be sent to connect().""" - return dict(CHARSET=self.encoding, yearIsDateType='false') + return dict(characterEncoding='UTF-8', yearIsDateType='false') def _extract_error_code(self, exception): # e.g.: DBAPIError: (Error) Table 'test.u2' doesn't exist diff --git a/lib/sqlalchemy/dialects/oracle/zxjdbc.py b/lib/sqlalchemy/dialects/oracle/zxjdbc.py index 0956d7ab6..9b0761f60 100644 --- a/lib/sqlalchemy/dialects/oracle/zxjdbc.py +++ b/lib/sqlalchemy/dialects/oracle/zxjdbc.py @@ -64,13 +64,8 @@ class Oracle_jdbc(ZxJDBCConnector, OracleDialect): super(Oracle_jdbc, self).initialize(connection) self.implicit_returning = False - def create_connect_args(self, url): - hostname = url.host - port = url.port or '1521' - dbname = url.database - jdbc_url = 'jdbc:oracle:thin:@%s:%s:%s' % (hostname, port, dbname) - return [[jdbc_url, url.username, url.password, self.jdbc_driver_name], - self._driver_kwargs()] + def _create_jdbc_url(self, url): + return 'jdbc:oracle:thin:@%s:%s:%s' % (url.host, url.port or 1521, url.database) def _get_server_version_info(self, connection): version = re.search(r'Release ([\d\.]+)', connection.connection.dbversion).group(1) |
