JDBC Protocol Violation When Using JDK 1.6 (32bit) on Solaris
(Doc ID 1084498.1)
Last updated on AUGUST 09, 2023
Applies to:
JDBC - Version 11.1.0.6 and laterOracle Solaris on SPARC (64-bit)
*** ***
Symptoms
An application running on a Solaris client with JDK 1.6 (32bit) using a JDBC/thin 11g driver queries a large table and gets java.sql.SQLException: Protocol violation after partially completing the row fetch.
/usr/jdk/jdk1.6.0_18/bin/java -cp /opt/app/oracle/product/11.1.0/jdbc/lib/ojdbc6.jar:. Batching2
java.sql.SQLException: Protocol violation
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:403)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1049)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
at oracle.jdbc.driver.T4CStatement.fetch(T4CStatement.java:1000)
at oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:314)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:228)
at Batching2$1MyThread.run(Batching2.java:37)
rows retrieved: 101820
java.sql.SQLException: Bigger type length than Maximum
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:403)
at oracle.jdbc.driver.T4CMAREngine.buffer2Value(T4CMAREngine.java:2242)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB2(T4CMAREngine.java:1090)
at oracle.jdbc.driver.T4C8TTIrxh.unmarshalV10(T4C8TTIrxh.java:108)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:650)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
at oracle.jdbc.driver.T4CStatement.fetch(T4CStatement.java:1000)
at oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:314)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:228)
at Batching2$1MyThread.run(Batching2.java:37)
rows retrieved: 426430
The Sun Hotspot JVM has 2 implementations: server and client
The issue reproduces only with server :
for differences between -client and -server see: http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/java.html
The error does not occur with a 64 bit JVM
Cause
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
Symptoms |
Changes |
Internal Note: |
Cause |
Solution |
Solution: |
Workaround: |
References |