I googled this problem and no solution was found. I'm trying to pass in an
array to a pl/sql procedure through JDBC, and here's what I have in the java
code: (dconn =
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper)
DelegatingConnection dconn =(DelegatingConnection) ((BasicDataSource)
getJdbcTemplate().getDataSource()).getConnection();
System.out.println("dconn = " + dconn.getClass().getName());
ArrayDescriptor stringDescriptor = ArrayDescriptor.createDescriptor(
"PACE_MASTERDBO.STRING_ARRAY", dconn.getInnermostDelegate() );
I also tried ((DelegatingConnection) con).getInnermostDelegate(), where con is
of type java.sql.Connection, but got the same result.
I get the following error at the ArrayDescriptor line:
java.sql.SQLException: Fail to construct descriptor: Invalid arguments
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1130)
at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:104)
I've been working on this for some time now and would greatly appreciate your
help.
Thanks,
-Stella