如何使用HikariCP从oracle数据库获取alias.table

时间:2016-04-21 20:18:25

标签: spring oracle11g spring-boot spring-data-jpa hikaricp

我最近遇到过这个问题。我不确定它是来自HikariCP还是Oracle或Spring Boot。当我尝试使用datasource.schema(application.yml / application.properties)中的模式时,我收到一个错误。 HikariCP启动但立即失败,说不存在属性模式。现在我们如何在oracle数据库中使用模式?

驱动程序类名:oracle.jdbc.pool.OracleDataSource - ojdbc-7

  

main] com.zaxxer.hikari.HikariDataSource:HikariPool-1 - 已开始。

     

main] com.zaxxer.hikari.util.PropertyElf:属性架构没有   存在于目标类oracle.jdbc.pool.OracleDataSource

(我知道我无法为HikariCP设置架构!但现在怎么办?)

是否可以使用HikariCP使用模式(别名)连接到oracle数据库?

对于那些想知道HikariCP的人: https://github.com/brettwooldridge/HikariCP学习的好地方。

1 个答案:

答案 0 :(得分:0)

的解决方案!

HikariCP采用ConnectionInitSql属性,我们可以将其设置为:

ConnectionInitSql = alter session set current_schema = xyz(您的架构名称)

Solution Page

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);
}