summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/oracle.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-06-01 15:55:52 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-06-01 15:55:52 +0000
commit04c1d3f012b8e445c947e650d73ec44f207456c7 (patch)
tree042cf1d7cf09b58b5ece4147a8e92125fe3a3e2b /lib/sqlalchemy/databases/oracle.py
parentc7089aeb47196542697c82799f8c52c79ca036a1 (diff)
downloadsqlalchemy-04c1d3f012b8e445c947e650d73ec44f207456c7.tar.gz
create_connect_args can create DSN from host/port, submitted by bernd.dorn@fhv.at for [ticket:192]
Diffstat (limited to 'lib/sqlalchemy/databases/oracle.py')
-rw-r--r--lib/sqlalchemy/databases/oracle.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py
index b27f87dd0..0745cf784 100644
--- a/lib/sqlalchemy/databases/oracle.py
+++ b/lib/sqlalchemy/databases/oracle.py
@@ -123,8 +123,19 @@ class OracleDialect(ansisql.ANSIDialect):
return self.module
def create_connect_args(self, url):
- opts = url.translate_connect_args([None, 'dsn', 'user', 'password'])
- opts['threaded'] = self.threaded
+ if url.database:
+ # if we have a database, then we have a remote host
+ port = url.port or 1521
+ dsn = self.module.makedsn(url.host,port,url.database)
+ else:
+ # we have a local tnsname
+ dsn = url.host
+ opts = dict(
+ user=url.username,
+ password=url.password,
+ dsn = dsn,
+ threaded = self.threaded
+ )
return ([], opts)
def type_descriptor(self, typeobj):