-20125   CALL TO STORED PROCEDURE procedure-name FAILED BECAUSE THE RESULT SET FOR CURSOR cursor-name IS SCROLLABLE, BUT THE CLIENT DOES NOT SUPPORT THIS, REASON reason-code.

説明

カーソルのスクロール可能結果セットが、ストアード・プロシージャーの CALL によって返されましたが、カーソルに属性が含まれていたか、またはカーソルの状態が原因で、カーソルが呼び出し側アプリケーションに返されませんでした。

procedure-name
失敗したストアード・プロシージャー。
cursor-name
両方向スクロール・カーソル。
reason-code
失敗の理由を示す数値。 可能な値は、以下のとおりです。
0
カーソルが両方向スクロール・カーソルですが、クライアントが低レベルであり、両方向スクロール・カーソルをサポートしていません。DRDA アプリケーション・リクエスターは、 スクロール可能結果セットを処理することができません。
1
ストアード・プロシージャーが実行されるサーバーとは別のサーバーでカーソルが宣言されており、このカーソルに SQL タイプが XML の列が 1 つ以上含まれています。呼び出し側アプリケーションがローカル Db2® システムまたは別の DRDA リクエスター・システムで実行されている可能性があります。ストアード・プロシージャーがカーソルに対して 1 つ以上のリモート FETCH 要求を実行し、最後のリモート FETCH 要求に 1 つ以上のバイナリー XML ターゲットが指定されていました。カーソルは別のサーバーで宣言されているため、最終ストアード・プロシージャー FETCH 要求では、DRDA サーバーから戻される XML データのフォーマットがバイナリー XML として定義されています。ローカル Db2 システムまたは呼び出し側アプリケーションが実行されている DRDA リクエスターでは、このようなカーソルを結果セットとして戻すことはできません。

システムの処置

このステートメントを処理することはできません。 ストアード・プロシージャーで定義されたすべての結果セットのカーソルが、 呼び出し元に戻る前にクローズされました。スクロール可能カーソルは、結果セットからの FETCH に使用することができません。 ストアード・プロシージャーの実行終了時にエラーが検出されたため、 ストアード・プロシージャーが完了したアクションはロールバックされず、 ストアード・プロシージャーが開始したアクションは完了しました。

プログラマーの応答

reason-code の値に対応したアクションを実行します。

0
ストアード・プロシージャー procedure-name の内容を、 結果セットのカーソルをスクロール可能と定義しないように変更してください。
1
ストアード・プロシージャーにより実行されたフェッチが原因で、サーバーが XML 列をバイナリー XML データとして戻すことがないようにしてください。

SQLSTATE

560B3