получавам следното изключение след обновяване на 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 ..."));