-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