I've configured openldap to store information from tnsnames.ora.
See http://oracle-cookies.blogspot.com/2007/01/get-tnsnamesora-from-openldap.html
for details.
Then I configured Naming Methods via netca as follows:
olimpico_work ~ # cat /usr/local/oracle/app/oracle/product/10.2.0/
network/admin/sqlnet.ora
1. sqlnet.ora Network Configuration File: /usr/local/oracle/app/
oracle/product/10.2.0/network/admin/sqlnet.ora
2. Generated by Oracle configuration tools.
NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES)
olimpico_work ~ #
This is my ldap.ora file:
olimpico_work ~ # cat /usr/local/oracle/app/oracle/product/10.2.0/
network/admin/ldap.ora
DIRECTORY_SERVERS = (develop2:389:636)
DEFAULT_ADMIN_CONTEXT = "dc=itfits,dc=biz"
DIRECTORY_SERVER_TYPE = OID
olimpico_work ~ #
As shown below tnsping works fine:
olimpico_work ~ # tnsping sumtel_fake
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 30-
SEP-2008 11:58:48
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
/usr/local/oracle/app/oracle/product/10.2.0/network/admin/sqlnet.ora
Used LDAP adapter to resolve the alias
Attempting to contact (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
(HOST=sumtel.clients.net)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=ORANGE)))
OK (690 msec)
olimpico_work ~ #
The problem lies in that I can't create LDAP connection in Oracle SQL
Developer.
Doc says that sql developer should load entries from ldap.ora (http://
www.oracle.com/technology/oramag/oracle/08-may/o38sql.html).
However, I found that it even doesn't read ldap.ora file (I'm sure
since I traced sqldeveloper via "strace" utility).
How to get it work?
Any ideas?
Thank you beforehand!
P.S.
I'm using the latest Gentoo Linux with kernel 2.6.22.
The version of Oracle installed is 10.2.0.1.0.
The version of Oracle SQL developer is 1.5.1.54.40.
If you configured openldap, I think this:
DIRECTORY_SERVER_TYPE = OID
is not correct. OID is Oracle Internet Directory, which is not OpenLdap.
Shakespeare
Seems I answered a bit too soon. I just read the blog and they used
DIRECTORY_SERVER_TYPE = OID as well. As long as you load the OID
objectclasses, this could work indeed....
Shakespeare
export TNS_ADMIN=/usr/local/oracle/app/oracle/product/10.2.0/network/admin
before starting sqldev. (That's one line...)
Use "set TNS_ADMIN=..." if you run sqldev on Windows
--
Regards,
Frank van Bortel
TNS_ADMIN is set:
krivenok@olimpico_work 15:13:23 ~ $ echo $TNS_ADMIN
/usr/local/oracle/app/oracle/product/10.2.0/network/admin
krivenok@olimpico_work 15:13:29 ~ $
Any ideas?
I just tested this on a windows system. Without any configuration, I only
put your ldap.ora in my admin directory. SQLDeveloper does read the file,
and shows the ldap server connection.
This may be a stupid question, but did you put the ldap.ora file on the same
machine as you put SQLDeveloper?
Shakespeare
Yes I did.
SQL Developer and Oracle Client are installed on my client host,
while
openldap is installed on my server host.
I will try a windows version of SQL Developer.
>
> Shakespeare
Ok, then you could try to change the TNSNAMES.ORA in the same directroy as
your ldap.ora file, and add a (dummy) connection to it. Check if the
tns-connections in SQLDeveloper reflect this change. If they do, the error
is not in the location of the files. If they don't, SQL Developer is reading
your *.ora files from a different location than you expect it to do.
If you do see the changes, check if your ldap.ora filename is in lower case.
Shakespeare
Should the next (even more stupid) question not be:
Do you use the same Unix account and environment settings when
testing the Oracle client and SQL Dev?