コンパイル

COBOL コンパイラで SQL プログラムをコンパイルすることは、プリコンパイルによって SQL 行をホスト言語文に変更し、次に結果ソースをコンパイルする、という 2 つのステップに論理的に相当します。この 2 つのステップは、実際には単一のプロセスで行われており、COBOL コンパイラが DB2 ECM と連携して実行します。

SQL プログラムをコンパイルする前に、次の作業を完了して、データベースに接続できることを確認してください。

また、コンパイルの前に、適切な権限を使用して DB2 にログインしていることを確認してください。次のいずれか 1 つが必要です。

コンパイルを実行する個々のデータベース ユーザーには、コードに含まれている静的 SQL 文をコンパイルするために必要なテーブル特権が必要です。グループに付与された特権は、静的 SQL 文の認証チェックには使用されません。SQL オブジェクトに対する権限がないためにプログラムがコンパイルに失敗した場合は、DB2 データベース管理者にお問い合わせください。

DB2 LUW バージョン 7.1 で導入されている API 呼び出しを使用している場合は、DB2 ECM は API 呼び出しを検証するために IBM モジュールを呼び出します。DB2 ECM が指令の構文でエラーを検出した場合は、-104 SQLCODE のエラー メッセージが表示されます。

埋め込み SQL を含むプログラムは、DB2 コンパイラ指令を使用してコンパイルされます。追加モジュールへのリンクが必要な実行可能 (バイナリ) ファイルを作成する際には、追加操作が必要になります (「Linking」を参照)。

SQL コードを含むプログラムも、他のプログラムと同じようにデバッグできます。SQL 文内のホスト変数も、通常の COBOL データ項目と同じように調べることができます。

注: プログラムをコンパイルしようとすると COBDB0006 エラー メッセージが表示される場合は、「COBDB0006 Required DB software token could not be found」を参照してください。