この章は、 Windows 32 ビット・オペレーティング・システムでアプリケーションを構築するための詳細な情報を提供します。 バッチ・ファイルでは、 db2 で始まるコマンドは、 コマンド行プロセッサー (CLP) コマンドです。 DB2 コマンドについてのさらに詳細な情報が必要であれば、 コマンド解説書 を参照してください。
Windows 32 ビット・オペレーティング・システム用の DB2 アプリケーション開発の最新の更新事項については、 次の Web ページを参照してください。
http://www.ibm.com/software/data/db2/udb/ad
注:
WCHARTYPE CONVERT プリコンパイル・オプション
WCHARTYPE プリコンパイル・オプションは、 wchar_t データ・タイプを使用する、 マルチバイト形式またはワイド文字形式のいずれかで図形データを処理します。 このオプションの詳細については、アプリケーション開発の手引き を参照することができます。
Windows 32 ビット・オペレーティング・システムの場合、 WCHARTYPE CONVERT オプションは、 Microsoft Visual C++ コンパイラーでコンパイルされたアプリケーション用にサポートされています。 アプリケーションがデータを DB2 データベースにデータベース・コード・ページとは異なるコード・ページで挿入する場合は、 このコンパイラーで CONVERT オプションを使用しないでください。 DB2 は通常はこのような状況でコード・ページ変換を実行します。 しかし、Microsoft C 実行時環境は、 特定の 2 バイト文字の代入文字は処理しません。 これは、実行時変換エラーとなる場合があります。
WCHARTYPE CONVERT オプションは、 IBM VisualAge C++ コンパイラーでコンパイルされたアプリケーション用にはサポートされていません。 このコンパイラーをご使用の場合は、 WCHARTYPE にはデフォルトの NOCONVERT オプションを使用してください。 NOCONVERT オプションを使用すると、 アプリケーションとデータベース・マネージャーとの間の暗黙の文字変換は起きなくなります。 図形ホスト変数のデータは、 変換されない 2 バイト文字セット (DBCS) 文字として、 データベース・マネージャーとの間で送受信されます。
図形データをワイド文字形式からマルチバイト形式に変換したい場合は、 wcstombs() 関数を使用してください。 たとえば、次のようにします。
wchar_t widechar[200]; wchar_t mb[200]; wcstombs((char *)mb,widechar,200); EXEC SQL INSERT INTO TABLENAME VALUES(:mb);
同様に、mbstowcs() 関数を使用して、 マルチバイト形式をワイド文字形式に変換することができます。
アプリケーションが静的に C 実行時ライブラリーにバインドされている場合は、 アプリケーションから setlocale() 呼び出しを出さないでください。 これは、C 実行時変換エラーとなる可能性があります。 アプリケーションが動的に C 実行時ライブラリーにバインドされている場合は、 setlocale() の使用は問題になりません。 これは、ストアード・プロシージャーにも当てはまります。
オブジェクトのリンクと埋め込みデータベース (OLE DB) 表関数
DB2 は、OLE DB 表関数をサポートします。 これらの関数については、 CREATE FUNCTION DDL を作成する他にアプリケーションを構築する必要はありません。 DB2 の %DB2PATH%\samples\oledb ディレクトリーに、 OLE DB 表関数のサンプル・ファイルが提供されています。 これらは、コマンド行プロセッサー (CLP) のファイルです。 これらのファイルは、以下のステップで構築できます。
database_name は接続先のデータベース、 file_name は CLP ファイルの名前 (拡張子は .db2) です。
OLE DB 表関数の完全な説明については、アプリケーション開発の手引き を参照してください。