UDB-VERSION DB2 指令オプション

DB2 ECM は、ご使用の DB2 Database for Linux, UNIX and Windows (DB2 LUW) のバージョンに応じて、2 セットある API 呼び出しのいずれかを使用できます。DB2 LUW バージョン 7.1 以降で使用されている呼び出しセットは、IBM がバージョン 7 から導入した新機能を利用しています。このバージョンで、IBM はプログラム識別子文字列 (Program Identifier String; PID) の長さを 40 バイトから 162 バイトに変更しました。PID は、コンパイル時に各アプリケーション・プログラムに格納されます。8 文字を超える COLLECTION-ID を使用する場合は、新しい PID 構造体を使用する必要があります。

プログラムをコンパイルする際にバージョン 7.1 以降の DB2 LUW サーバに接続した場合、DB2 ECM は、自動的により新しい呼び出しセットの使用を試行します。ただし、例えばバージョン 7.1 のクライアント・ソフトウェアを使用していない場合や、DB2 Connect を介して別の DB2 サーバに接続している場合などの、その他の環境でも新しい呼び出しセットの使用を希望する場合が考えられます。このような場合は、DB2 コンパイラ指令 UDB-VERSION を使用してください。これを使用することで、使用する DB2 LUW のバージョンを示すことができます。有効な値は、V6、V7、V8、V9、V95、および V97 です。V7 以降を指定する場合には、ECM は新しい呼び出しを実行します。次に例を示します。

DB2(UDB-VERSION=V7)

DB2 ECM が新しい API を検出できない場合は、次のメッセージが表示されます。

* critical errror - DB2Initialize API not found
* Try using directive DB2(UDB-VERSION=V6)
* to compile program

続いて次のメッセージが表示されます。

** DB00010 DB2 rejected an unspecified option.This error 
** prevents SQL processing from continuing - further 
** EXEC SQL statements will be ignored