diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-06-01 15:55:52 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-06-01 15:55:52 +0000 |
| commit | 04c1d3f012b8e445c947e650d73ec44f207456c7 (patch) | |
| tree | 042cf1d7cf09b58b5ece4147a8e92125fe3a3e2b | |
| parent | c7089aeb47196542697c82799f8c52c79ca036a1 (diff) | |
| download | sqlalchemy-04c1d3f012b8e445c947e650d73ec44f207456c7.tar.gz | |
create_connect_args can create DSN from host/port, submitted by bernd.dorn@fhv.at for [ticket:192]
| -rw-r--r-- | lib/sqlalchemy/databases/oracle.py | 15 |
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): |
