My Oracle Support Banner

Getting ArrayIndexOutOfBoundsException When Doing ExecuteBatch With Oracle JDBC Driver (Doc ID 1985195.1)

Last updated on FEBRUARY 03, 2019

Applies to:

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


A JAVA program runs for several hours batching data to the database on a regular basis. After upgrading to Oracle JDBC driver, ArrayIndexOutOfBoundsException exception is received after 2-4 hours of execution.


kodo.util.FatalDataStoreException: java.lang.ArrayIndexOutOfBoundsException: -1
at kodo.runtime.PersistenceManagerImpl.flush(
at kodo.query.AbstractQuery.isInMemory(
at kodo.query.AbstractQuery.executeWithArray(
at kodo.query.DelegatingKodoQuerySPI.executeWithArray(

java.lang.ArrayIndexOutOfBoundsException: -1
at oracle.jdbc.driver.OraclePreparedStatement.setupDbaBindBuffers(
at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(
at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(
at com.solarmetric.jdbc.DelegatingPreparedStatement.executeBatch(
at com.solarmetric.jdbc.PoolConnection$PoolPreparedStatement.executeBatch(
at com.solarmetric.jdbc.DelegatingPreparedStatement.executeBatch(

Th issue does not occur when using JDBC driver

Setting oracle.jdbc.bindUseDBA=false does not nake a difference.


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.