Db2 coprocessor を使用する場合、プログラムをコンパイルする際にSQLステートメントを処理し、次のステップではリンク編集プログラムを行います。 リンク・エディット・ステップの目的は、実行可能なロード・モジュールを作ることです。
このタスクについて
CおよびC++以外のプログラムでは、 Db2 コプロセッサを使用する場合はJCLプロシージャを使用する必要があります。 CおよびC++プログラムでは、 z/OS® でJCLプロシージャまたはUNIXシステムサービスを使用して、 Db2 コプロセッサを呼び出すことができます。
詳細は、「 Db2 コプロセッサを使用したSQL文の処理 」を参照してください。
ヒント:
Db2 coprocessor は、アプリケーションプログラムでSQLステートメントを処理する際に推奨される方法です。 Db2 precompiler と比較すると、 Db2 coprocessor ではSQLプログラムに対する制限が少なく、最新のSQLおよびプログラミング言語の拡張をより完全にサポートしています。 Db2 コプロセッサを使用したSQL文の処理を参照してください。

Db2 precompiler プリコンパイラを使用する場合は、「 Db2 プリコンパイラを使用したSQLステートメントの処理」 で説明されているように、プログラム準備プロセスの次のステップは、プログラムをコンパイルし、リンク編集することです。
プロシージャー
- 次のいずれかの方式を使用して、アプリケーションのコンパイルとリンク・エディットを行うことができます。
- プログラムの環境固有の要件を満たすロードモジュールを作成するリンク編集手順を使用します。
- TSO およびバッチ
- Db2 TSO接続機能言語インターフェース・モジュール(DSNELI)を含めるか、Db2接続機能言語インターフェース・モジュール(DSNALI)またはユニバーサル言語インターフェース・モジュール(DSNULI)を呼び出します。
- IMS
- Db2 IMS 言語インターフェースモジュール( DFSLI000 )を含めます。このモジュールには、DSNHLI エントリーポイントが含まれています。 また、 IMS RESLIB は、リンクリスト、JOBLIB、またはSTEPLIBの連結において、 SDSNLOADライブラリより前に置かなければなりません。
IMS Db2 は、言語インターフェースモジュールに共通のエイリアス名DSNHLIを共有しています。 ライブラリーを連結する場合には、以下のようにしなければなりません。
- IMS IMS を使用する場合は、 ライブラリを最初に連結し、アプリケーションプログラムが正しいバージョンの DSNHLI でコンパイルされるようにしてください。 IMS
- アプリケーションプログラムをDb2でのみ実行する場合は、必ず最初にDb2ライブラリを連結してください。
- CICS
- Db2 CICS® 言語インターフェイスモジュール(DSNCLI)またはユニバーサル言語インターフェイスモジュール(DSNULI)を含めます。 DSNCLI は、24 ビット・アドレッシング・モードのプログラムとも、31 ビット・アドレッシング・モード (AMODE=31) のプログラムともリンクできますが、DSNULI は 31 ビット・アドレッシング・モード (AMODE=31) のプログラムとリンクする必要があります。 アプリケーションが 31 ビット・アドレッシング・モードで実行している場合は、属性 AMODE=31 および RMODE=ANY を使用して DSNCLI または DSNULI スタブをアプリケーションとリンク・エディットし、アプリケーションが 16 MB 境界より上で実行されるようにしてください。
また、プログラミング言語に適した CICS EXECインターフェースモジュールも必要です。 CICS このモジュールが最終ロードモジュール内の最初の制御セクション(CSECT)である必要があります。
リンク・エディット・ステップで生成される実行可能ロード・モジュールのサイズ
は、SQL ステートメント処理プログラムがプログラムのソース・コードに挿入する値に応じて変わります。
- バッチ・プログラムのリンク・エディット
- Db2 サポートされている各環境に対して、言語インターフェースルーチンを備えています。 Db2 DL/Iバッチ用に 言語インターフェースルーチンが必要です。 IMS DFSLI000 をアプリケーション・プログラムとリンク・エディットしておくことが必要です。