如何使用 HikariCP 从 oracle 数据库中获取 alias.table
How to get alias.table from oracle database using HikariCP
我最近遇到了这个问题。我不确定它是来自 HikariCP 还是 Oracle 或 Spring Boot。当我尝试使用来自 datasource.schema(application.yml/application.properties) 的模式时,出现错误。 HikariCP 启动但立即失败,说 属性 模式不存在。现在我们应该如何在 oracle 数据库中使用模式?
驱动程序 class 名称:oracle.jdbc.pool.OracleDataSource - ojdbc-7
main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Started.
main] com.zaxxer.hikari.util.PropertyElf : Property schema does not
exist on target class oracle.jdbc.pool.OracleDataSource
(我知道我不能为 HikariCP 设置模式!但现在怎么办?)
是否可以使用 HikariCP 使用模式(别名)连接到 oracle 数据库?
对于那些想知道 HikariCP 的人:
https://github.com/brettwooldridge/HikariCP学习的好地方。
解决方案!
HikariCP 采用 ConnectionInitSql 属性 我们可以将其设置为:
ConnectionInitSql =改变会话集current_schema=xyz(你的架构名称)
public DataSource datasource(DataSourceProperties dataSourceProperties){
HikariDataSource ds = new HikariDataSource();
ds.setJdbcUrl(dataSourceProperties.getUrl());
ds.setUsername(dataSourceProperties.getUsername());
ds.setPassword(dataSourceProperties.getPassword());
ds.setConnectionInitSql("alter session set current_schema=My_Schema");
return new HikariDataSource(ds);
}
我最近遇到了这个问题。我不确定它是来自 HikariCP 还是 Oracle 或 Spring Boot。当我尝试使用来自 datasource.schema(application.yml/application.properties) 的模式时,出现错误。 HikariCP 启动但立即失败,说 属性 模式不存在。现在我们应该如何在 oracle 数据库中使用模式?
驱动程序 class 名称:oracle.jdbc.pool.OracleDataSource - ojdbc-7
main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Started.
main] com.zaxxer.hikari.util.PropertyElf : Property schema does not exist on target class oracle.jdbc.pool.OracleDataSource
(我知道我不能为 HikariCP 设置模式!但现在怎么办?)
是否可以使用 HikariCP 使用模式(别名)连接到 oracle 数据库?
对于那些想知道 HikariCP 的人: https://github.com/brettwooldridge/HikariCP学习的好地方。
解决方案!
HikariCP 采用 ConnectionInitSql 属性 我们可以将其设置为:
ConnectionInitSql =改变会话集current_schema=xyz(你的架构名称)
public DataSource datasource(DataSourceProperties dataSourceProperties){
HikariDataSource ds = new HikariDataSource();
ds.setJdbcUrl(dataSourceProperties.getUrl());
ds.setUsername(dataSourceProperties.getUsername());
ds.setPassword(dataSourceProperties.getPassword());
ds.setConnectionInitSql("alter session set current_schema=My_Schema");
return new HikariDataSource(ds);
}