0

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

当前环境:Weblogic 9.2.1,JDBC ojdbc5.jar

可以帮忙吗?

4

2 回答 2

0

这就是我在 Weblogic 10.3 中使用 ojdbc6 所做的,即从 Weblogic Connection 中提取底层 Oracle 连接对象,然后您可以将 PreparedStatement 转换为 Oracle 实现:

oracle.jdbc.OracleConnection oracleConn = ((weblogic.jdbc.extensions.WLConnection) ret).getVendorConnection();
OraclePreparedStatement ps = (OraclePreparedStatement) conn.prepareStatement("select * from ..."));
于 2011-11-12T21:14:05.057 回答
0

请将其分配给接口 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) {
...

connection.prepareStatement 就像您准备好的语句的工厂。这意味着您不知道也不应该知道从该方法调用返回哪种对象,但您知道接口。

于 2011-10-26T09:54:58.840 回答