0
運行時,我有以下代碼:ClassCastException異常Oracle數據庫JVM
OracleDataSource ods = new OracleDataSource();
ods.setURL(thinConnectionString);
OracleConnection conn = (OracleConnection) ods.getConnection();
ArrayDescriptor d = ArrayDescriptor.createDescriptor("MDSYS.RDF_MODELS", conn);
當我運行Oracle的VM超出此代碼它的工作原理沒有問題。然而,當我與loadjava
工具加載在Oracale數據庫JVM,然後運行它裏面甲骨文,我得到以下異常:
java.lang.ClassCastException
at oracle.jdbc.driver.PhysicalConnection.putDescriptor(PhysicalConnection.java)
at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:156)
at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:123)
at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:106)
at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:73)
at XercesTest.Test1(XercesTest.java:46)
at XercesTest.Test(XercesTest.java:171)
是什麼原因造成的問題,以及如何可能解決呢?
編輯:
當我檢查的基礎類型的連接對象,我Oracle的VM外運行時獲取類型oracle.jdbc.driver.T4CConnection
,並oracle.jdbc.driver.T2SConnection
在服務器上運行時。
編輯2:[解決]
的問題是由於jdbc
驅動程序類的衝突; loadjava
將意外從屬文件從ojdbc5.jar
加載到導致與Oracle相沖突的數據庫。一旦我放棄這些,一切正常。
即使使用'DriverManager.getConnection',我也遇到同樣的錯誤。 JDBC URL很好,其他操作正確執行,只是ArrayDescriptor給出了這個錯誤。 (*注意使用jdbc5 *)。 – 0xFF