IBM のリレーショナル・データベース・システムのプリコンパイラーは、システムによりいくらか差があります。 DB2 ユニバーサル・データベース用のプリコンパイラーは、以下の点で AS/400 サーバー・プリコンパイラーとは異なっています。
DB2 コネクトは DB2 データベース・マネージャーのブロック化バインド・オプションをサポートしています。
DB2 コネクト・プログラムは、 DB2 データベース・マネージャーの構成ファイルに定義されているブロック・サイズを RQRIOBLK フィールドに使用します。現行バージョンの DB2 コネクトでは、 32 767 までのブロック・サイズをサポートしています。 DB2 データベース・マネージャー構成ファイルにそれより大きい値が指定されても、 DB2 コネクトは 32 767 を値として使用しますが、 DB2 データベース・マネージャー構成ファイルをリセットすることはしません。ブロック化は、動的 SQL の場合も静的 SQL の場合も同じブロック・サイズを使用して、同じ方法で処理されます。
注: | ほとんどの AS/400 サーバー・システムは動的カーソルを未確定カーソルとみなしていますが、 DB2 ユニバーサル・データベース・システムは一部の動的カーソルを確定カーソルとみなします。混乱を避けるため、DB2 コネクトには BLOCKING ALL を指定できます。 |
管理 API 解説書 およびコマンド解説書 でリストされている CLP、コントロール・センター、または API を使用し、 DB2 データベース・マネージャー構成ファイルでブロック・サイズを指定します。
パッケージには、以下の属性があります。
それぞれの AS/400 サーバー・システムには、これらの属性の使用に制限があります。
注: | DB2 コネクトには、DB2 ユニバーサル・データベース (OS/390 版) および DB2 ユニバーサル・データベースのために、 SET CURRENT PACKAGESET コマンドが備えられています。 |
CNULREQD バインド・オプションは、LANGLEVEL オプションを使用して指定されたヌル終了ストリングの処理を一時変更します。
LANGLEVEL オプションが MIA または SAA1 の設定値で準備された場合に、ヌル終了ストリングがどのように処理されるかについては、 C および C++ での Null 終了ストリングを参照してください。
CNULREQD 省略時設定は YES です。このオプションが YES に設定されている場合、ヌル終了ストリングは MIA 規格に準拠して解釈されます。 DB2 ユニバーサル・データベース (OS/390 版) に接続する場合、 CNULREQD を YES に設定するよう強くお勧めします。 (ヌル終了ストリングに関して) SAA1 規格でコーディングされたアプリケーションをバインドする場合は、 CNULREQD オプションを NO に設定する必要があります。 NO に設定しなかった場合、LANGLEVEL を SAA1 に設定して入力したとしても、ヌル終了ストリングは MIA 規格に準拠して解釈されてしまいます。
ISO/ANS SQL92 で定義されているスタンドアロンの SQLCODE および SQLSTATE 変数は、 LANGLEVEL SQL92E プリコンパイル・オプションによってサポートされています。 LANGLEVEL がサポートされていなければ、プリコンパイル時にそのことを示す SQL0020W 警告が出されます。この警告は、コマンド解説書 の LANGLEVEL MIA の下にリストされている、 LANGLEVEL SQL92E のサブセットである機能だけに適用されます。