我使用的是spring-boot和spring-jdbc启动器。
我正在尝试连接到oracle数据库中的特定版本。例如,它是EDITION_X。
然后,我尝试通过yaml文件创建一个数据源。
spring:
datasource:
driverClassName: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@ip:port/NAME
username: user
password: password
connectionProperties:
- ORA_EDITION:EDITION_X
另一种方式是,我尝试通过java代码对其进行配置。
public DataSource oracleDataSource() throws SQLException {
OracleDataSource oracleDataSource = new OracleDataSource();
Properties properties = new Properties();
properties.setProperty("ORA_EDITION", "EDITION_X");
oracleDataSource.setConnectionProperties(properties);
oracleDataSource.setURL("jdbc:oracle:thin:@ip:port/NAME");
oracleDataSource.setUser("user");
oracleDataSource.setPassword("");
oracleDataSource.setDriverType("oracle.jdbc.driver.OracleDriver");
return oracleDataSource;
}
似乎是从执行器加载了属性。但该版本仍然是默认版本。
有什么想法吗,如何连接到oracle数据库中的特定版本?
在糟糕的JDBC连接中,您应该提供"oracle.jdbc.editionName";财产。在春天,它也应该起作用。
properties.setProperty("oracle.jdbc.editionName", "EDITION_X");
如果您检查它是否有效,请使用此查询。
select sys_context('userenv', 'current_edition_name') from dual