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

Reply via email to