oracle.jdbc.OracleCallableStatement cast exception

Ich habe ein problem, über das Gießen einer CallableStatement zu OracleCallableStatement. Es gibt ClassCastException wie diese:

java.lang.ClassCastException:
    oracle.jdbc.driver.OracleCallableStatementWrapper cannot be cast to
    oracle.jdbc.driver.OracleCallableStatement

Und der code ist:

Connection conn = qdbDataSource.getConnection();
PreparedStatement pstmt = null;
Connection conn2 = ((WLConnection)conn).getVendorConnection();
try {
    CallableStatement cs = conn2.prepareCall("{ ?=call asr.bsc(?,?,?,?,?,?,?)}");
    OracleCallableStatement ocs = (OracleCallableStatement)cs;
//(...)
}

Ich versuche mit spring jdbc template, aber Ergebnis war das gleiche.

Ich bin mithilfe von WebLogic 10.3.2, und der Fahrer Klasse der datasource ist Standard ein. Ich bin auch mit der ojdbc14.jar in meinem Projekt, das startup classpath enthält es nicht.

Irgendwelche Ideen?

BEARBEITEN: Dies sind die Unterklassen des runtime-wrapper-Klasse:

weblogic.jdbc.wrapper.CallableStatement_oracle_jdbc_driver_OracleCallableStatementWrapper class
weblogic.jdbc.wrapper.CallableStatement class
weblogic.jdbc.wrapper.PreparedStatement class
weblogic.jdbc.wrapper.Statement class
weblogic.jdbc.wrapper.JDBCWrapperImpl class
weblogic.utils.wrapper.WrapperImpl class java.lang.Object
  • was ist die oracle-version und warum brauchen Sie, um Sie zu wirken !!!! ich denke, Sie brauche es nicht (die cast) können Sie es vermeiden, meine ich
  • Ich bin mit den Komponenten, die für oracle-db. Die Funktion, die ich bin versucht zu rufen, ist voll davon. So brauche ich Oracle CallableStatement. Ich denke, dass die oracle-version ist nicht so wichtig hier, denn ich bin nicht immer die Fehler, wenn Sie versuchen, sich zu verbinden, aber immer die callablestatement.
  • er will es benutzen, weil OracleCallableStatement bietet mehr Methoden und komplexer ist.
InformationsquelleAutor Neron | 2012-06-19
Schreibe einen Kommentar