java - 使用钱包实例化 Oracle 数据源,无需指定用户名和密码

标签 java oracle oracle11g datasource oracle-call-interface

我有这个数据源,如果我指定用户名、密码和网址,它就可以正常工作。

        public Connection dataSource() throws SQLException {
          OracleDataSource dataSource = new OracleDataSource();
          dataSource.setUser(userName);
          dataSource.setPassword(password);
          dataSource.setURL(url);
          return dataSource;
        }

如果我有数据库的钱包地址,如何设置oracle数据源?

jdbc:oracle:oci:@//<ip>:<port>/<db>

我尝试了这个,但它不起作用,因为登录失败(我返回的用户名密码不匹配)

public Connection dataSource() throws SQLException {
          OracleDataSource dataSource = new OracleDataSource();
          dataSource.setURL(wallet);
          return dataSource;
        }

最佳答案

您必须在 JDBC URL 中手动定义钱包,例如jdbc:oracle:thin:@service_name?TNS_ADMIN=wallet。例如,假设钱包位于您系统上的以下目录:/Oracle/ADWC/adwc_sales。然后,您可以将连接定义为 jdbc:oracle:thin:@adwc_sales_low?TNS_ADMIN=/Oracle/ADWC/adwc_sales,其中 @adwc_sales_low 是 TNSNAMES.ora 文件中定义的连接,并且 TNS_ADMIN 字段指向到解压客户端凭据的目录。

您可以在这里找到更多信息:https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/user/connect-jdbc-thin-wallet.html

关于java - 使用钱包实例化 Oracle 数据源,无需指定用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54632992/

相关文章:

java - 如何在android中安全地存储加密 key ?

c# - 带有 bool 对象的odp net oracle参数构造函数

sql - 在oracle pl sql中连接名字和姓氏,中间有空格

oracle - ORA-01008 : not all variables bound after database upgrade

xml - SQL Server 查询返回 Xml 和 Html

java - 有没有办法将对象引用保存在数组列表中?

java - 使用 Servlet 3.0 上传图片

java - 需要帮助显示来自 url 或文件选择器的图像

linux - azure walinuxagent : no package available on oracle linux 6. 5

oracle - 如何从dmp文件和日志文件导入Oracle数据库?