ユニコードをサポートするオペレーティング・システム (Windows CE、Symbian OS、Windows NT、および Windows 2000) の場合、 DB2 Everyplace は入出力ストリングとしてのみユニコード・ストリングを使用します。これらのユニコード・ストリングは、DB2 Everyplace エンジンの内部では UTF-8 形式で保管されます。 ユニコード文字は、UTF-8 変換を行った後は、1 文字につき 1 から 3 バイトのストレージ・スペースが 必要になります。IBM DB2 Universal Database などのデータベース・サーバーに保管された文字ストリングは、 ダウンロードして Windows CE デバイス上の DB2 Everyplace に保管すると、元より大きなスペースが必要になる場合があります。
CLI ユニコード・インターフェースの注:
SQLRETURN SQLExecDirect (SQLHSTMT hstmt, SQLCHAR FAR *szSqlStr, SQLINTEGER cbSqlStr);
ユニコード・ストリング L"ABCD" は 4 文字です。
SQLRETURN SQLGetData (SQLHSTMT hstmt, SQLUSMALLINT icol, SQLSMALLINT fCType, SQLPOINTER rgbValue, SQLINTEGER cbValueMax, SQLINTEGER FAR *pcbValue);
入力パラメーター cbValueMax および出力パラメーター *pcbValue の長さは、 バイトで示します。 ユニコード・ストリング L"ABCD" は 8 バイトです。
移植可能なコードを作成するためのヒントを、以下に挙げます。
例については、DB2 Everyplace に組み込まれている「Windows CE SampleCLP のサンプル・コード」を参照してください。
関連した解説