summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/oracle/zxjdbc.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2009-08-06 21:11:27 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2009-08-06 21:11:27 +0000
commit8fc5005dfe3eb66a46470ad8a8c7b95fc4d6bdca (patch)
treeae9e27d12c9fbf8297bb90469509e1cb6a206242 /lib/sqlalchemy/dialects/oracle/zxjdbc.py
parent7638aa7f242c6ea3d743aa9100e32be2052546a6 (diff)
downloadsqlalchemy-8fc5005dfe3eb66a46470ad8a8c7b95fc4d6bdca.tar.gz
merge 0.6 series to trunk.
Diffstat (limited to 'lib/sqlalchemy/dialects/oracle/zxjdbc.py')
-rw-r--r--lib/sqlalchemy/dialects/oracle/zxjdbc.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/oracle/zxjdbc.py b/lib/sqlalchemy/dialects/oracle/zxjdbc.py
new file mode 100644
index 000000000..a0ad088b2
--- /dev/null
+++ b/lib/sqlalchemy/dialects/oracle/zxjdbc.py
@@ -0,0 +1,24 @@
+"""Support for the Oracle database via the zxjdbc JDBC connector."""
+import re
+
+from sqlalchemy.connectors.zxJDBC import ZxJDBCConnector
+from sqlalchemy.dialects.oracle.base import OracleDialect
+
+class Oracle_jdbc(ZxJDBCConnector, OracleDialect):
+
+ jdbc_db_name = 'oracle'
+ jdbc_driver_name = 'oracle.jdbc.driver.OracleDriver'
+
+ 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 _get_server_version_info(self, connection):
+ version = re.search(r'Release ([\d\.]+)', connection.connection.dbversion).group(1)
+ return tuple(int(x) for x in version.split('.'))
+
+dialect = Oracle_jdbc