My Oracle Support Banner

異なるキャラクタ・セットのデータベースがデータベース・リンクで連携されている環境に対するクエリの実行で JDBC が「プロトコル違反です」(Protocol Violation) をスローする (Doc ID 2707017.1)

Last updated on MARCH 04, 2021

適用範囲:

JDBC - バージョン 12.2.0.0.0 以降
Oracle Database - バージョン 12.2.0.1 から 12.2.0.1 [リリース 12.2]
この文書の内容はすべてのプラットフォームに適用されます。

現象

JDBC Thin ドライバが、特定のクエリを実行するときに「プロトコル違反です」(Protocol Violation) をスローします。

(* 例外にともなう数字やスタックは環境や SQL クエリによって異なります)

本問題には、次の特徴があります。

- 2 つ以上のデータベース (DB) インスタンスがデータベース・リンクでリンクされており、ソース DB とターゲット DB でキャラクタ・セットが異なります。
- JDBC バージョンに依存しません。問題は上位の JDBC バージョンでも発生します。
- データベース・リンクを介さずターゲット DB に直接クエリを実行した場合は、発生しない場合があります。
- JDBC のフェッチ・サイズを変更すると、発生しない場合があります。
- 微小な SQL の変更で発生しなくなる場合があります。例えば、検索列、Order by 句、ヒント句などです。

あるケースでは、DB をバージョン 11g から 12c にアップグレードした後に発生し始めました。他のケースでは、新しくインストールした DB で問題が発生しました。

変更点

 

原因

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.