ODBCを利用してデータベースの可変長文字列を読み込むプログラムを翻訳するとエラーメッセージが出力されます。

ODBCを利用してデータベースの可変長文字列を読み込むプログラムを翻訳すると「JMN2633I-S SQL文に誤りがあります。ODBC-8431E "XXX"文に誤ったSQL文変数の指定があります」のエラーメッセージが出力されます。
SQL文に指定したホスト変数に文法上の誤りがあります。
データベースの可変長文字列に対応するホスト変数を指定している場合は、レベル番号49の基本項目を従属する集団項目でなければなりません。レベル番号を49にするか、翻訳オプションNOSQLGRPを指定してください。また、SQL文によっては、指定できないホスト変数の形式があります。


翻訳オプションSQLGRPについては、以下のマニュアルを参照してください。

NetCOBOL使用手引書
  • 付録 A.2.48 SQLGRP(SQLのホスト変数定義の拡張)

なお、COBOL97 V50L10までは、従属項目のレベル番号が49以下でも可変長文字列に対応するホスト変数とみなしていましたが、COBOL97 V60L10以降およびNetCOBOLでは、複数列指定ホスト変数とみなします。

SQL文と指定できるホスト変数の形式については、以下のマニュアルを参照してください。

NetCOBOL使用手引書
  • 21.10 SQL文と指定可能なホスト変数
製品・サービス情報
対象製品NetCOBOL
プラットフォームWindows x86, Windows x64, Windows Itanium, .NET
アンサー種別 設計/開発
このページの先頭へ