My Oracle Support Banner

CLOB型のデータを取得すると java.sql.SQLException: Protocol violation が発生する場合がある (Doc ID 1667096.1)

Last updated on APRIL 05, 2020

適用範囲:

JDBC - バージョン 12.1.0.1.0 以降
この文書の内容はすべてのプラットフォームに適用されます。

現象


AL32UTF8/UTF-8 のデータベースから CLOB型のデータを取得しようとした場合に、JDBC Thinドライバで以下のような Protocol violation: [ 14, 121, ] が発生することがあります。

Caused by: java.sql.SQLException: Protocol violation: [ 0, ]
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:669) ~[ojdbc7.jar:12.1.0.1.0]
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249) ~[ojdbc7.jar:12.1.0.1.0]
at oracle.jdbc.driver.T4C8TTIBlob.createTemporaryLob(T4C8TTIBlob.java:182) ~[ojdbc7.jar:12.1.0.1.0]
at oracle.jdbc.driver.T4CConnection.createTemporaryBlob(T4CConnection.java:3197) ~[ojdbc7.jar:12.1.0.1.0]
at oracle.sql.BLOB.createTemporary(BLOB.java:806) ~[ojdbc7.jar:12.1.0.1.0]
at oracle.jdbc.driver.OraclePreparedStatement.setBinaryStreamContentsForBlobCritical(OraclePreparedStatement.java:7615) ~[ojdbc7.jar:12.1.0.1.0]
at oracle.jdbc.driver.OraclePreparedStatement.setBlobInternal(OraclePreparedStatement.java:12445) ~[ojdbc7.jar:12.1.0.1.0]
at oracle.jdbc.driver.OraclePreparedStatement.setBlob(OraclePreparedStatement.java:12154) ~[ojdbc7.jar:12.1.0.1.0]
at oracle.jdbc.driver.OraclePreparedStatementWrapper.setBlob(OraclePreparedStatementWrapper.java:569) ~[ojdbc7.jar:12.1.0.1.0]
at weblogic.jdbc.wrapper.PreparedStatement.setBlob(PreparedStatement.java:1269) ~[com.bea.core.datasource6_1.10.0.0.jar:1.10.0.0]

java.io.IOException: Protocol violation: [ 14, 121, ] at
 oracle.jdbc.driver.OracleClobReader.needChars(OracleClobReader.java:264) at
 oracle.jdbc.driver.OracleClobReader.read(OracleClobReader.java:195) at
 Ojdbc7ClobReaderTest.main(Ojdbc7ClobReaderTest.java:26) Suppressed:
 java.sql.SQLException: Protocol violation: [ 0, ] at
 oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:669) at
oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249) at
 oracle.jdbc.driver.T4C7Ocommoncall.doOLOGOFF(T4C7Ocommoncall.java:59) at
 oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:757) at
 oracle.jdbc.driver.PhysicalConnection.close(PhysicalConnection.java:4585) at
 Ojdbc7ClobReaderTest.main(Ojdbc7ClobReaderTest.java:29) Caused by:
 java.sql.SQLException: Protocol violation: [ 14, 121, ] at
 oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:669) at
 oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249) at
 oracle.jdbc.driver.T4C8TTIClob.read(T4C8TTIClob.java:245) at
 oracle.jdbc.driver.T4CConnection.getChars(T4CConnection.java:3901) at
 oracle.sql.CLOB.getChars(CLOB.java:517) at
 oracle.jdbc.driver.OracleClobReader.needChars(OracleClobReader.java:245)



変更点

 

原因

To view full details, 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 a vibrant support community of peers and Oracle experts.