我已经在Oracle Cloud中创建了一个自主事务处理数据库。没有现成的JDBC链接,但有“钱包”。有实例钱包和地域钱包。Oracle表示,其中之一,最好是实例钱包,应该用来连接到这个数据库实例。
钱包是一个ZIP文件,里面有十几个文件。我已经下载了一个实例钱包并解压缩。现在,我正在尝试将DataGrip连接到此实例。
DataGrip中有一个TNS连接类型,钱包中有一个著名的tnsnames.ora,所以我想我应该使用它们。TNS连接类型接受一个TNSADMIN参数,我想它就是该钱包的一个目录。钱包中的tnsnames.ora列出了一些服务名称,但它们的优先级不同,例如,一个用于低优先级查询,另一个用于中优先级查询,一个用于最高优先级问题。我对中等优先级没意见,所以我这么做了:

如您所见,我收到一个错误:
[08006][17002] IO Error: The Network Adapter could not establish the connection
SSO KeyStore not available.我已经用谷歌搜索过了,但这个话题似乎很复杂。Oracle有很多连接参数和连接过程中涉及的证书,我是个新手,我只想连接到这个实例。为什么它会如此复杂?我可以在DataGrip中直接使用这个钱包吗?
发布于 2021-02-03 04:57:45
似乎我做的每件事都是正确的,唯一的问题实际上是驱动版本。
截至今天2021-02-02,DataGrip中可用的最新Oracle驱动程序版本为19.8.0.0:

为了解决这个问题,我刚刚在DataGrip中创建了另一个Oracle驱动程序,并手动提供了最新的JAR:
请转到与您的Java8或11版本对应的Oracle Database 21c (21.1) JDBC Driver & UCP Downloads
ojdbc8-full.tar.gz)。它应该适用于任何现代的Java.~/.config/JetBrains/DataGrip2020.3/jdbc-drivers/Oracle/21.1。

发布于 2021-04-27 17:31:35
https://stackoverflow.com/questions/66017534
复制相似问题