2015-04-21 167 views
2

我有以下代碼來連接到oracle數據庫。但使用hikaricp我得到了例外。Hikaricp Oracle連接問題

java.sql.SQLException: Invalid Oracle URL specified: OracleDataSource.makeURL 

代碼:

private static HikariDataSource dataSource() { 
    final HikariDataSource hikariDataSource = new HikariDataSource(); 
    hikariDataSource.setMaximumPoolSize(100); 
    hikariDataSource.setMinimumIdle(10); 
    hikariDataSource.setDataSourceClassName("oracle.jdbc.pool.OracleDataSource"); 

    Properties properties = new Properties(); 
    properties.put("user", "user"); 
    properties.put("password", "pass"); 
    properties.put("databaseName", "XE"); 
    properties.put("serverName", "192.168.21.13"); 
    properties.put("portNumber", "1521"); 
    hikariDataSource.setDataSourceProperties(properties); 
    //Additionally I am setting connection test query and max life time also 
    return hikariDataSource; 
} 

完整的堆棧跟蹤是

Exception in thread "main" java.lang.RuntimeException: Fail-fast during pool initialization 
    at com.zaxxer.hikari.pool.HikariPool.fillPool(HikariPool.java:499) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:162) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:113) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:102) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
Caused by: java.sql.SQLException: Invalid Oracle URL specified: OracleDataSource.makeURL 
    at oracle.jdbc.pool.OracleDataSource.makeURL(OracleDataSource.java:1277) 
    at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:185) 
    at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:157) 
    at com.zaxxer.hikari.pool.HikariPool.addConnection(HikariPool.java:418) 
    at com.zaxxer.hikari.pool.HikariPool.fillPool(HikariPool.java:498) 
    ... 11 more 

如何建立成功的池?我正在使用oracle jar http://download.oracle.com/otn/utilities_drivers/jdbc/111070/ojdbc6.jar 和jdk是1.6。對於java 6,Hikaricp版本爲2.2.5。

回答

5

嘗試將驅動程序類型設置爲thin

properties.put("driverType", "thin"); 
+0

謝謝。它爲我工作。 – phoenix