2016-09-19 84 views
1

無法獲得Oracle連接。無法獲得Oracle連接

,以獲得在定製智能服務插件的Oracle連接我使用下面的代碼: -

public static Connection openNewConnection(String url, String username, String password) throws ClassNotFoundException, SQLException { 

    DriverManager.registerDriver(new oracle.jdbc.OracleDriver()); 
    Connection connection = DriverManager.getConnection(url, username, password); 
    return connection; 
} 

它完美罰款作爲一個獨立的,但裏面的JBoss使用時,它給"ClassCastExcepton"以下消息: -

ClassCastException異常: 「oracle.jdbc.driver.T4CConnection不能轉換 到oracle.jdbc.OracleConnection」。

我與ojdbc5.jarojdbc6.jarojdbc7.jarojdbc14.jar文件分別使用這一點。

這個問題的任何線索?

+0

這可能會幫助你! http://stackoverflow.com/questions/15483356/connection-cannot-be-cast-to-oracle-jdbc-oracleconnection –

回答

0

oracle.jdbc.driver.T4CConnection擴展類oracle.jdbc.driver.PhysicalConnection,而類oracle.jdbc.driver.PhysicalConnection繼而實現接口oracle.jdbc.OracleConnection。所以演員似乎應該成功。

其原因不能只是一個類加載器的問題,即有兩個涉及相同類的jar文件或更具體:ojdbcN.jar在類路徑上兩次,最有可能在JBoss安裝中的某處在你的.ear/.war文件中。因爲源和目標類和接口位於兩個不同的jar文件中,所以轉換失敗。

修復你的班級路徑。對於JBoss,ojdbc7.jar需要進入共享JBoss目錄,並且不能包含在.war或.ear文件中。