-501 FETCHまたはCLOSEステートメントで特定されたカーソルはオープンではありません

説明

指定されたカーソルがオープン状態でないときに、アプリケーション・プログラムがカーソルを使用したフェッチまたはカーソルのクローズを試行しました。

システム処置

このステートメントを処理することはできません。

プログラマー応答

カーソルが以下のいずれかの状況で閉じられたかどうかをチェックする。 カーソルがクローズされた後、カーソルに続くFETCHまたはCLOSE文はSQLCODE -501を受け取ります。

  • 以前のCLOSEステートメント
  • コミットまたはロールバック操作
  • 利用できないオブジェクト(-679、-901、-904、-909、-910、-911、-913、-952 など)へのアクセス時のエラー
  • 404 や -652 のようなオブジェクトを更新しようとするとエラーが発生する
  • 集計関数を処理する際の算術エラー
  • 述語処理中のエラー

アプリケーションプログラムのロジックを修正し、FETCHまたはCLOSE文が処理される時点でカーソルが開いていることを確認する。

SQLSTATE

24501