当前位置: 首页 > 知识库问答 >
问题:

通过oracle钱包连接jdbc

乐正浩言
2023-03-14

基于Oracle文档,我创建了一个钱包

mkstore -wrl /tmp/wl -create

添加凭证

mkstore -wrl /tmp/wl -createCredential localhost:1521/myservice user pass

在我的java应用程序中,我想通过这个钱包连接到数据库

public static void main(String... args) throws Exception { 
  Class.forName("oracle.jdbc.driver.OracleDriver"); 
  System.setProperty("oracle.net.wallet_location", "/tmp/wl");
  Connection connection = DriverManager.getConnection("WHAT TO PUT HERE?");
}

但我不知道如何填充连接字符串。我不想使用tnsnames。谢谢

共有1个答案

缑勇锐
2023-03-14

使用钱包进行身份验证时需要使用tnsnames.ora,即使对于JDBC瘦连接也是如此。tnsnames.ora中的连接别名与钱包中的连接别名匹配,以提供给定连接的正确凭据。

然后,您的连接URL如下所示:

jdbc:oracle:thin:@database_specifier

如果没有@database_specifier,JDBC不知道要使用钱包中的哪个凭据(可能有几个)。

 类似资料:
  • 我正在遵循使用IDE IntelliJ从java应用程序连接到Oracle云数据库的指南。 我满足先决条件,因为: 我在Oracle云服务中有一个数据库 我下载了钱包,并将文件放在工作区的src目录中。 我使用的是最后一个JDK 14 我正在使用OJDBC8.jar 并且我还下载了oraclepki、osdt_cert和osdt_core JAR,所有这些JAR都作为java库添加到我的测试项目中

  • 我想通过R从SQL数据库导入数据。我尝试了太多次(几乎6小时)连接到服务器。我运行这些命令,它显示错误:- jdbcDriver jdbc连接 我认为是司机的问题,但我无法解决。

  • 我正在尝试使用本教程连接Oracle数据库。当我使用命令行:java-cp c:\jdbc-test\ojdbc6.jar;c:\jdbc-test OracleJDBC我已经将ojdbc6.jar与OracleJDBC.java放在同一个文件夹中。现在我需要在Eclipse上运行它,但它给我一个错误: 是因为OJDBC6.jar位置吗?

  • 我有一个Spring Boot应用程序,当它以经典的方式连接到Oracle实例时,它可以很顺利地工作: 但是,当我通过存储在本地驱动器“C:\Oracle\Client11g\Network\Admin”中的TNSnames.ora转到tns连接时,有些东西不起作用,我会得到以下异常: 下面是我的application.properties+application-oracleprod.prope

  • 如果使用oraDB18Home1进行连接,则会出现以下错误apear。 尝试检索错误ORA-12541的文本时出错 检查项目 TNS_ADMIN环境变量定义为“C:\app\muhiuddin\product\18.0.0\dbhomeXE\network\ADMIN” 找到了“C:\app\muhiuddin\product\18.0.0\dbhomeXE\network\admin\sqlne

  • 需要使用python 3. x版本的cx_oracle模块来连接Oracle 19c和TLS。有防火墙和代理。 如何实施?我必须使用甲骨文钱包吗?2022年TLS 1.2够好还是我需要TLS 1.3?