我有这个数据源,如果我指定用户名、密码和网址,它就可以正常工作。
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/