スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
COBOL2002のUnicode機能を使用するUAPでは,UTF-16の文字データを格納する日本語項目を,埋込み変数として使用できます。
COBOL2002のUnicode機能を使用するUAPでの,UAP内の文字データと文字コードを次の表に示します。
表8-27 COBOL2002のUnicode機能を使用するUAPでの,UAP内の文字データと文字コード
UAP内の文字データ | 文字コード | |
---|---|---|
SQL文 | UTF-8 | |
埋込み変数 | 英数字項目 | UTF-8 |
日本語項目 | UTF-16LE又はUTF-16BE |
COBOL2002のUnicode機能を使用するUAPでSQLを実行する場合に,HiRDBサーバが行う文字コード変換を次の表に示します。
表8-28 COBOL2002のUnicode機能を使用するUAPでSQLを実行する場合に,HiRDBサーバが行う文字コード変換
UAP内の文字データ | SQL実行時にHiRDBサーバが行う文字コード変換 | |
---|---|---|
SQL文 | クライアント側とサーバ側の文字コードは両方ともUTF-8のため,変換しません。 | |
埋込み変数 | 英数字項目 | 代入,比較処理の対象となるサーバ側の文字データの文字集合がUTF-16の場合,文字コードを変換します。※ |
日本語項目 | 代入,比較処理の対象となるサーバ側の文字データの文字集合が既定文字集合(UTF-8)の場合,文字コードを変換します。※ なお,変換前のデータに半角文字がある場合は,半角文字(UTF-16では2バイト)を格納します。 また,埋込み変数内のデータは-XU16オプションの指定に従って,文字集合名UTF-16LE,又はUTF-16BEを指定した文字データ型(CHAR又はVARCHAR)のデータとして扱います。 |
COBOL2002のUnicode機能を使用するUAPでSQLを実行するには,次に示す条件をすべて満たす必要があります。
pdntenvコマンド(UNIX版の場合はpdsetupコマンド)で,文字コード種別にutf-8を指定した場合に,HiRDBサーバの既定文字集合がUTF-8になります。
-XU16オプションについては,「表8-5 プリプロセスオプション(UNIX環境のCOBOL言語の場合)」,又は「表8-11 プリプロセスオプション(Windows環境のCOBOL言語の場合)」を参照してください。
UAPのソース中に埋め込んだSQL文にJIS X0213の第3・4水準漢字コードの文字が含まれていると,プリプロセス時にエラーになります。なお,埋込み変数に格納する文字データは,COBOL2002のUnicode機能がサポートする範囲の文字をすべて使用できます。
HiRDBクライアントが文字コード変換を行わないように,クライアント環境定義PDCLTCNVMODEにNOUSEを指定します。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.