Может ли тонкий драйвер Oracle JDBC использовать файл sqlnet.ora для настройки?

#oracle #jdbc #ojdbc

#Oracle #jdbc #ojdbc

Вопрос:

Может ли драйвер на стороне тонкого клиента Oracle JDBC типа 4 использовать файл sqlnet.ora для настройки?

Контекст: наш администратор базы данных открывает запрос в службу поддержки Oracle на основе проблемы, которую я вижу, и их план действий заключается в том, чтобы я попытался добавить конфигурацию в файл sqlnet.ora. Похоже, они неправильно предполагают, что я использую драйвер OCI (я никогда не работал над приложением, которое использовало это). Я чувствую, что sqlnet.ora является эксклюзивным для драйвера thick / OCI, но мои поиски не дают четкого ответа на этот вопрос.

Комментарии:

1. Вы правы: sqlnet.ora является эксклюзивным для драйвера JDBC thick / OCI. Изменение параметров в sqlnet.ora не повлияет на тонкое соединение JDBC.

2. Какие настройки вам нужно добавить? Хотя синтаксис для записей tnsnames.ora отличается от синтаксиса для URL-адресов, для параметра может быть эквивалентное значение. Например, (SERVER=POOLED) в записи TNS будет :POOLED URL-адрес.

3. Спасибо, но у нас открыт запрос в Oracle, поэтому мы собираемся уточнить, что мы используем тонкий драйвер, а затем я собираюсь позволить им разобраться с этим для меня. Лично я думаю, что они на неверном пути, и мы находимся на этапе «подключен ли он» в их процедурах устранения неполадок.

4. Вы можете использовать полный дескриптор сетевого подключения Oracle (сохраненный в tnsnames) в качестве «спецификатора базы данных» в строке подключения для тонкого драйвера. docs.oracle.com/en/database/oracle/oracle-database/12.2/jjdbc /…

Ответ №1:

Вы можете использовать это:

 java -Doracle.net.tns_admin=%ORACLE_HOME%networkadmin
  

Но…

tnsnames.ora и sqlnet.ora могут содержать различные параметры. Некоторые из них реализованы драйверами JDBC. Некоторые из них игнорируются по умолчанию. Общедоступной информации об этом нет. sqlnet.ora и tnsnames.у ora есть специальный раздел в документации Oracle, и нигде не упоминается, относится ли то же самое к драйверам JDBC. В Metalink есть несколько отдельных заметок, описывающих поведение JDBC (ошибки), но, как правило, эта тема нигде не рассматривается в документах Oracle.

Уточните у своих администраторов баз данных, что на самом деле они хотят изменить, и проверьте, поддерживается ли та же функция драйверами JDBC.

Ответ №2:

драйвер JDBC 19c позволяет передавать TNS_ADMIN как часть URL-адреса подключения. Пример., «jdbc:oracle:thin:@wallet_dbname ?TNS_ADMIN=/Users/test/wallet_dbname»

Кроме того, другие свойства подключения также могут быть переданы как часть URL-адреса подключения. Обратитесь к руководству по разработке JDBC для получения более подробной информации.