Getting ArrayIndexOutOfBoundsException When Doing ExecuteBatch With Oracle JDBC Driver

(Doc ID 1985195.1)

Last updated on FEBRUARY 19, 2018

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.


Sign In with your My Oracle Support account

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

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms