私はコモンズdbcp を実装し、その完全に機能しました-インターフェイスPoolingDataSource
の特定の実装を使用する問題に遭遇するまで。java.sql.PreparedStatement
((OraclePreparedStatement) getStatement()).registerReturnParameter(index, sqlType);
java.lang.ClassCastException:
org.apache.commons.dbcp.DelegatingPreparedStatement
cannot be cast to oracle.jdbc.OraclePreparedStatemen
なぜこれが起こっているのか理解しています。 PreparedStatementのベンダー固有の実装を使用する方法はありますが、Commons DBCPによって提供される接続プールを使用することはできますか? Oracleの実装に固有のregisterReturnParameter()とgetReturnResultSet()を使用したいと思います。私は基本的なルール#1に違反したことを知っています...
また、PoolingDataSourceはOracleXADataSourceをラップしているため、これを行うことがどういうわけか可能であると私は信じています...