#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 в DataGrip и вручную предоставил последние версии JARs:
- Перейдите к загрузке драйверов и UCP Oracle Database 21c (21.1) JDBC
- Загрузите архивированный драйвер JDBC и сопутствующие JAR-файлы, соответствующие вашей версии Java: 8 или 11. Или просто загрузите версию для Java 8 (
ojdbc8-full.tar.gz
). Он должен работать с любой современной Java. - Создайте новый подкаталог в каталоге драйверов DataGrip для вашего драйвера. Что-то вроде
~/.config/JetBrains/DataGrip2020.3/jdbc-drivers/Oracle/21.1
для Linix. - Распакуйте драйвер в этом каталоге.
- Настройте новый драйвер в DataGrip. Просто клонируйте существующий драйвер Oracle и замените «Файлы драйверов» на файлы из ZIP.
- Используйте этот новый драйвер для подключения к экземпляру:
Ответ №2:
DataGrip 2021.1 предоставляет драйвер Oracle JDBC 21.1.0.0 со всеми необходимыми файлами jar.
Также прочитайте статью DataGrip о подключении к Oracle с помощью кошельков.