summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects
diff options
context:
space:
mode:
authorPhilip Jenvey <pjenvey@underboss.org>2009-08-11 04:16:48 +0000
committerPhilip Jenvey <pjenvey@underboss.org>2009-08-11 04:16:48 +0000
commitcd33d09ce08f04078840b322d203a9f262513a3f (patch)
tree363204542f015c62b7baa5440ca53fa2152e6225 /lib/sqlalchemy/dialects
parent57fe160fe772469a000c60d3c8fe98e882c97e8f (diff)
downloadsqlalchemy-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.py11
-rw-r--r--lib/sqlalchemy/dialects/oracle/zxjdbc.py9
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)