java.sql.SQLException: Protocol violation: [ 6, 7, 5, ] When Column Size Exceeds 1300 (Doc ID 2088417.1)

Last updated on MAY 19, 2017

Applies to:

JDBC - Version 12.1.0.2.0 and later
Information in this document applies to any platform.

Symptoms

JDBC 12.1.0.2 application fails with Protocol Violation exception when the SQL query column exceeds 1300 columns.

 

java.sql.SQLException: Protocol violation: [ 6, 7, 5, ]
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:536)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:225)
at oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:1066)
at oracle.jdbc.driver.OracleStatement.fetchMoreRows(OracleStatement.java:3716)
at oracle.jdbc.driver.InsensitiveScrollableResultSet.fetchMoreRows(InsensitiveScrollableResultSet.java:1015)
at oracle.jdbc.driver.InsensitiveScrollableResultSet.absoluteInternal(InsensitiveScrollableResultSet.java:979)
at oracle.jdbc.driver.InsensitiveScrollableResultSet.next(InsensitiveScrollableResultSet.java:579)
at oracleojdbcissue.OracleOJDBCIssue.executeQuery(OracleOJDBCIssue.java:96)

 

Changes

To replicate this issue 12.1.0.2 JDBC driver should be patched for <Bug 20222015> JAVA.LANG.ARRAYINDEXOUTOFBOUNDSEXCEPTION: 128 WITH JDBC DRIVER.

At the database level one has to set ALTER system SET "_FIX_CONTROL"='17376322:OFF' scope=both, or should have <Patch 20315685> applied.

Cause

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