ARRAY array_to_pass = new ARRAY( descriptor, conn, intArray ); OraclePreparedStatement ps = (OraclePreparedStatement)conn.prepareStatement ( "begin give_me_an_array(:x); end;" ); ps.setARRAY( 1, array_to_pass ); ps.execute(); } Somehow, my company does not allow us to use any oracle extension on JDBC, and we only can use API that used in standard JDBC. But in standard JDBC, I can not find a equivalent object as oracle's ArrayDescriptor, and there is not constructor for java.sql.Array, thus I do not know how to construct an Array object in Java side.
What should I do then? Is it impossible for me to avoid oracle's extention?
Wogong, As far as I know, you must use Oracle-specific classes to achieve this. The only thing I can suggest, is perhaps try a non-Oracle JDBC driver. Pardon me but I am not familiar with any, myself, so I cannot help you there.