NetCOBOL 技術情報:トラブルシューティング
エラー
Windows x86
NetCOBOL
Q
PowerCOBOL97 V5.0で翻訳できたSQL文を使用したプログラムをPowerCOBOL97 V6.0以降またはNetCOBOLでコンパイルした際に、「JMN2633I-S SQL文に誤りがあります.ODBC-8432E FOR句の指定位置または指定方法に誤りがあります.」のエラーとなります。
A
以下の理由が考えられます。
- SQL文に指定したFOR句の使用方法が、COBOL文法書の構文規則に合っていない場合にJMN2633I-Sのエラーとなります。COBOL文法書を参照の上、正しい構文規則に修正してください。
FOR句は、SELECT文、INSERT文、FETCH文、UPDATE文(探索)、DELETE文(探索)、EXECUTE文で使用できます。エラーが発生したSQL文を下記のマニュアルを参照の上、正しい構文となるよう修正してください。なお、FOR句はPowerCOBOL97 V6.0以降およびNetCOBOLでサポートしています。PowerCOBOL97 V5.0以前では、動作保証外です。- COBOL文法書
- 第8章 データベース(SQL)
- COBOL文法書
- カーソル宣言(DECLARE CURSOR)にFOR READ ONLY指定が記述されている可能性があります。カーソル宣言には、FOR UPDATEのみ指定可能です。FOR READ ONLY指定は、サポートしておりません。
カーソル操作を行う場合、実行時にODBC情報ファイルのサーバ情報の指定によって、読み込みのみか否か制御することが可能です。具体的には、カーソル同時実行の指定「@SQL_CONCURRENCY」に「READ_ONLY」を設定します(デフォルトは「READ_ONLY」ですので、特に設定がなくとも同様に動作します)。
