Как подключиться к Oracle 21c в Oracle Cloud из DataGrip

#oracle #datagrip #oracle-cloud-infrastructure #oracle21c

#Oracle #datagrip #oracle-cloud-инфраструктура #oracle21c

Вопрос:

Я создал автономную базу данных обработки транзакций в Oracle Cloud. Вокруг нет готовых к использованию ссылок JDBC, но есть «кошельки». Существует кошелек экземпляра и региональный кошелек. Oracle говорит, что один из них, предпочтительно instance wallet, должен использоваться для подключения к этому экземпляру БД.

Кошелек — это ZIP-файл с десятком файлов внутри. Я загрузил экземпляр кошелька и разархивировал его. Теперь я пытаюсь подключить DataGrip к этому экземпляру.

В DataGrip есть TNS тип подключения, а в кошельке есть famous tnsnames.ora , поэтому, я думаю, я должен их использовать. TNS тип подключения принимает TNSADMIN параметр, который, я полагаю, является каталогом этого кошелька. tnsnames.ora в списке кошелька перечислены несколько названий служб, поскольку они отличаются своим приоритетом, например, один для запросов с низким приоритетом, другой для запросов со средним приоритетом и один для вопроса с наивысшим приоритетом. Я согласен со средним приоритетом, поэтому я сделал это:

Не повезло

Как вы видите, я получаю сообщение об ошибке:

 [08006][17002] IO Error: The Network Adapter could not establish the connection
SSO KeyStore not available.
 

Я поискал в Google, но эта тема кажется сложной. У Oracle много параметров подключения с сертификатами, участвующими в процессе подключения, и я действительно новичок, и я просто хочу подключиться к этому экземпляру. Почему это должно быть так сложно? Могу ли я использовать этот кошелек непосредственно в DataGrip?

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

1. Выбор имени службы влияет на параллелизм и потенциальную очередь. Вот некоторые подробности о предопределенных именах служб для ATP: docs.oracle.com/en/cloud/paas/autonomous-database/adbsa /…

Ответ №1:

Кажется, я все сделал правильно, и единственная проблема на самом деле заключается в версии драйвера.

На сегодняшний день, 2021-02-02, последняя доступная версия драйвера Oracle в DataGrip — 19.8.0.0:

Последняя доступная версия драйвера Oracle

Чтобы устранить проблему, я только что создал другой драйвер Oracle в DataGrip и вручную предоставил последние версии JARs:

  1. Перейдите к загрузке драйверов и UCP Oracle Database 21c (21.1) JDBC
  2. Загрузите архивированный драйвер JDBC и сопутствующие JAR-файлы, соответствующие вашей версии Java: 8 или 11. Или просто загрузите версию для Java 8 ( ojdbc8-full.tar.gz ). Он должен работать с любой современной Java.
  3. Создайте новый подкаталог в каталоге драйверов DataGrip для вашего драйвера. Что-то вроде ~/.config/JetBrains/DataGrip2020.3/jdbc-drivers/Oracle/21.1 для Linix.
  4. Распакуйте драйвер в этом каталоге.
  5. Настройте новый драйвер в DataGrip. Просто клонируйте существующий драйвер Oracle и замените «Файлы драйверов» на файлы из ZIP. Драйвер Oracle 21
  6. Используйте этот новый драйвер для подключения к экземпляру: Успех!

Ответ №2:

DataGrip 2021.1 предоставляет драйвер Oracle JDBC 21.1.0.0 со всеми необходимыми файлами jar.

Также прочитайте статью DataGrip о подключении к Oracle с помощью кошельков.

Драйвер Oracle JDBC 21.1