Идея Oracle состоит в том, чтобы настроить сервер LDAP (OID в вашем случае) в файле LDAP.ORA в каталоге администратора TNS (обычно это $ ORACLE_HOME / network / admin).Там у вас есть что-то вроде:
DIRECTORY_SERVERS = (servname:389)
DEFAULT_ADMIN_CONTEXT = "dc=company,dc=com"
DIRECTORY_SERVER_TYPE = OID
Возможно, вам также потребуется адаптировать файл SQLNET.ORA:
NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES)
Тогда ваша строка подключения будет просто:
Data Source=instance; User ID=scott; Password=tiger
(или даже без идентификатора пользователя и пароля).
Обновление:
Если вы не можете изменить каталог администратора TNS, единственный известный мне вариант - это использоватьСтроки подключения, содержащие все данные (имя сервера, порт, SID или имя службы).Существует три формата:
Синтаксис TNS:
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=serername)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=instanceSID))); User ID=scott; Password=tiger
EZ Соединитесь с именем службы (обратите внимание на одну косую черту между именем сервера и именем службы):
Data Source=//servername:1521/servicename; User ID=scott; Password=tiger
EZ Соединитесь с SID (обратите внимание на двойную косую черту между именем сервера и SID):
Data Source=servername:1521//instanceSID; User ID=scott; Password=tiger