Subject:Oracle Connections in 9i and 10g Author:(Deleted User) Date:03 May 2006 01:06 PM
I have read the forum messages for the search string "LDAP Oracle" and one of them hit the mark. Most of them refer to messages on [XML-DEV] list.
History: Prior to Oracle 9i TNSNAMES.ORA file was the method for connecting to an Oracle DB. The file contained the connection facts. JDBC as, used in SS, does not reference the TNSNAMES.ora file, but places the connection facts into the connection string.
Oracle 9i is the transition release. It offers both TNSNAMES access as well as an LDAP server that isolates the DB user connection facts. This adds security and maintainability. A user need only know the name of the resource. LDAP will look up the other facts and determine if connection is appropriate.
Problem: I cannot use SS to connect to our Oracle 9i databases because I do not have, and cannot get the DB connection facts. Oracle 10g uses LDAP as the preferred connection support path. More an more organizations will be needing the LDAP path for SS connection to Oracle DB.
How do I use rdbxml in an Oracle LDAP environment?
Subject:Oracle Connections in 9i and 10g Author:(Deleted User) Date:03 May 2006 05:49 PM
A TNSNAMES.ora file has these facts in it.
some.domain.name =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = someMachineName)(PORT = 1521))
)
(CONNECT_DATA =
(SID = SomeSID)
(SERVER = DEDICATED)
)
)
some.domain.name -- provides a name for the resource
PROTOCOL -- identifies the protocol that the resource is expecting.
someMachineName -- provides a name defined in the physical box containing the resource.
PORT -- provides the port on the physical box that the resource will use to accept work.
SID -- a value
All or most of these facts as also provided in a JDBC connection string. Although there are Oracle drivers that will create thier JDBC connection string by referencing an entry in the TNSNAMES.ora file the SS built in Oracle Driver assembles the string from a dialog.
An example string needed for the oracle provided driver might be
jdbc:oracle:thin:[<user>/<password>]@//<host>[:<port>]/<service>
<host> -- is the same fact that is kept in the TNSNAME.ora file as someMachineName.
<port> -- is the same fact as defined in the TNSNAMES.ora file as PORT=
<service> -- is the same fact as defined in the TNSNAME.ora file as SID =.
Obviously both the TNSNAME.ora file and the JDBC string expose too much information. Use of the LDAP service reduces the information needed fro a client to connect to a data resource. All the client needs is a name and set of credentials. No one needs to know anything about the internal network, machine names, open ports or anything.
Oracle says to use this kind of a JDBC string to connect through a LDAP server when using their driver.
jdbc:oracle:thin:@ldap://<name-of-LDAP-Server>:7777/<name-of-resource>,cn=OracleContext,dc=com
cn and dc are fields in the LDAP data set.
This would probably work to supply credentials over a secure connection
jdbc:oracle:thin:<user>/<password>@ldaps://<name-of-LDAP-Server>:7777/<name-of-resource>,cn=OracleContext,dc=com
My question is how do I use the dialogs of rdbxml to get a connection string formed that will use the LDAP protocol to establish a connection?