My Oracle Support Banner

Error to Send Three Arrays Using setPlsqlIndexTable() Method From Java to Stored Procedure (Doc ID 360405.1)

Last updated on MARCH 13, 2019

Applies to:

JDBC - Version to [Release 10.1]
Information in this document applies to any platform.


When running a Java program that is passing arrays to a database stored procedure then following error occurs:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -29696
at oracle.jdbc.driver.T4CTTIrxd.marshal(
at oracle.jdbc.driver.T4C8Oall.marshalBinds(
at oracle.jdbc.driver.T4C8Oall.marshalAll(
at oracle.jdbc.driver.T4CCallableStatement.doOall8(
at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(
at oracle.jdbc.driver.OraclePreparedStatement.execute(
at oracle.jdbc.driver.OracleCallableStatement.execute(

This happens only when using a JDBC Thin Driver and the number of records in the array exceeds a certain number of records. In this situation the number of records in the array is 4608. When using 600 records everything works fine.




To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.