/ / ClasscastException за OraclePreparedStatement - java, weblogic9.x

ClasscastException за OraclePreparedStatement - java, weblogic9.x

получавам следното изключение след обновяване на Jdbc драйвер.

Caused by: java.lang.ClassCastException: weblogic.jdbc.rmi.SerialPreparedStatement_weblogic_jdbc_rmi_internal_PreparedStatementStub_weblogic_jdbc_rmi_internal_PreparedStatementImpl_weblogic_jdbc_wrapper_PreparedStatement_oracle_jdbc_driver_OraclePreparedStatementWrapper_921_WLStub

Текущо Env: Weblogic 9.2.1, JDBC ojdbc5.jar

Може ли някой да помогне тук?

Отговори:

0 за отговор № 1

Моля, задайте го на интерфейса PreparedStatement вместо на конкретен клас (OraclePreparedStatement).

PreparedStatement vStmt = null;
OracleResultSet vSet = null;
ArrayList<ResourceFile> vFiles = new ArrayList<ResourceFile>();
try {
vSqlStr = "some query here";
vStmt = aConn.prepareStatement(vSqlStr)
} catch (Exception e) {
...

Връзката.prepareStatement действа като фабрика за вашето подготвено изявление. Това означава, че не сте наясно и не трябва, какъв вид обект се връща от това позоваване на метода, но вие знаете интерфейса.


0 за отговор № 2

Това е, което направих в Weblogic 10.3 с ojdbc6 извлича основния обект на Oracle Connection от Weblogic Connection и след това можете да хвърлите PreparedStatement към внедряването на Oracle:

oracle.jdbc.OracleConnection oracleConn = ((weblogic.jdbc.extensions.WLConnection) ret).getVendorConnection();
OraclePreparedStatement ps = (OraclePreparedStatement) conn.prepareStatement("select * from ..."));