无法使用 Oracle Wallet 在 IntelliJ IDEA 中配置数据源
Posted
技术标签:
【中文标题】无法使用 Oracle Wallet 在 IntelliJ IDEA 中配置数据源【英文标题】:Cannot configure Data Source in IntelliJ IDEA using Oracle Wallet 【发布时间】:2020-08-03 12:56:56 【问题描述】:我有一个可用的 Oracle 钱包。我正在尝试在 IntelliJ IDEA(和/或 DataGrip)中配置一个使用 TNS
连接类型的数据源。在General
选项卡下,我用Oracle Wallet 的位置填充了TNSADMIN
字段(仅包含文件:cwallet.sso
、ewallet.p12
、sqlnet.ora
和tnsnames.ora
...没有别的),TNS name
带有实际的数据源名称。
有一个环境变量
WALLET_HOME
也指向确切的位置。
此外,我还修改了(在 Advanced
选项卡下)键 oracle.net.tns_admin
和 oracle.net.wallet_location
的值分别为:$WALLET_HOME
和 (SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=$WALLET_HOME)))
。
这就是我在应用程序中连接到 Oracle 数据库所要做的。
看起来它可能有效,但我收到了以下错误消息:[99999][17167] PKI classes not found. To use 'connect /' functionality, oraclepki.jar must be in the classpath: java.lang.NoClassDefFoundError: oracle/security/pki/OracleWallet.
但是我这辈子找不到在那个屏幕上增加 Java 类路径的地方。我不能提供-classpath
选项作为VM options
(在Advanced
选项卡下)的一部分,因为它会覆盖它。
使用此设置的人可以在这里解释一下吗?
【问题讨论】:
您的 Oracle 版本是多少?文件可以直接添加到驱动程序属性中的驱动程序文件部分。 你是对的!在Data Sources and Drivers
窗口中有一个Drivers
部分,您可以在其中添加更多文件和/或子目录。对我来说有效的是添加oraclepki.jar
文件(位于../oracle12c2_client_64/product/12.2.0/client_1/jlib/oraclepki.jar
)。如果您将评论添加为答案,我会接受。
【参考方案1】:
要将文件添加到驱动程序,请按照以下说明操作:
-
导航到文件 |数据源或按 Ctrl+Alt+Shift+S。
在“数据源和驱动程序”对话框中,单击要添加文件的驱动程序条目。
在驱动程序文件窗格中,单击 (+) 图标(添加)并选择自定义 JAR。
【讨论】:
【参考方案2】:DataGrip 2021.1 为 Oracle 21.1 JDBC 驱动程序提供所有必需的 jar 文件。
另外,请阅读 DataGrip 帮助文章Connect to Oracle Cloud by using wallets
【讨论】:
虽然它们都非常相似,但我确实使用的是 IntelliJ IDEA。可能 DataGrip 解决方案适用于它。 它们很相似。 DataGrip 作为 IntelliJ IDEA 的插件。以上是关于无法使用 Oracle Wallet 在 IntelliJ IDEA 中配置数据源的主要内容,如果未能解决你的问题,请参考以下文章
转://oracle Wallet在expdp/impdp中使用场景