У меня есть каверзный вопрос, и я еще не нашел, как его решить. Я использую LDAP для ORACLE соединений с БД на сотнях БД, и при создании соединений вручную в SQL Developer нет ошибок.
Но, если я использую синтаксис SQL* Plus в SQL Разработчик для переключения между различными подключениями: имя пользователя CONNECT / password@connect_identifier, я получаю « сообщение об ошибке подключения ». Причина в том, что он больше не соблюдает порядок, определенный в sq lnet .ora с помощью (LDAP, tnsnames, ezconnect), и переходит непосредственно в файл tnsnames.ora . Если я определяю connect_identifier в tnsnames.ora , он подключается успешно, но я хочу использовать LDAP, потому что он всегда поддерживается непосредственно администратором баз данных. TNS_ADMIN определен правильно и работает правильно.
Кроме того, если я открою экран cmd и использую имя пользователя sqlplus / password@connect_identifier, он будет работать через LDAP. Так что только SQL Разработчик не хочет использовать LDAP через синтаксис CONNECT.
Я пробовал на разных машинах и с разными SQL выпусками разработчика, в зависимости от того, что установлено на машинах, начиная с 3.0.0.4 до 17.3.2, но я встречал то же поведение.
В 17.3.2, где также есть опция подключения JDB C THIN, я видел, что он автоматически пытается преобразоваться в jdb c тонкая строка подключения, и, конечно же, она не работает: USER = user
URL = jdbc:oracle:thin:@connect_identifier.world:1521/connect_identifier.world
Error Message = IO Error: Unknown host specified
Почему такое поведение внутри SQL Developer и есть ли способ заставить синтаксис CONNECT использовать LDAP вместо tnsnames.ora ?
Спасибо.