統合 DB2 coprocessor (SQL コンパイラー・オプション) を使用すると、SQL ステートメントのストリング・ホスト変数を処理するコード・ページは、優先度の高い順から、次に示すように決定されます。
- USAGE NATIONAL を持つホスト変数は、常に DB2 によって CCSID 1200 (Unicode UTF-16) を使用して処理されます。
次に例を示します。
01 hostvariable pic n(10) usage national.
- 明示的な FOR BIT DATA 宣言を持つ英数字ホスト変数は、DB2 によって CCSID 66535 に設定されます。これは、変数がエンコードされた文字を表さないことを示します。
次に例を示します。
EXEC SQL DECLARE hostvariable VARIABLE FOR BIT DATA END-EXEC
- BLOB、BINARY、または VARBINARY ホスト変数には CCSID 関連がありません。
これらのストリング・タイプはエンコードされた文字を表しません。
- SQLDA で明示的な CCSID オーバーライドを指定したホスト変数は、その CCSID で処理されます。
- 明示的な CCSID を使用して宣言で指定したホスト変数は、その CCSID で処理されます。
次に例を示します。
EXEC SQL DECLARE hostvariable VARIABLE CCSID nnnnn END-EXEC
- 英数字ホスト変数は、SQLCCSID コンパイラー・オプションが有効であると、CODEPAGE コンパイラー・オプションからの CCSID nnnnn で処理されます。
- DBCS ホスト変数は、SQLCCSID オプションが有効であると、マップされた値 mmmmm で処理されます。これは、CODEPAGE(nnnnn) コンパイラー・オプションからの混合 (MBCS) CCSID nnnnn の純粋 DBCS CCSID コンポーネントです。
- 英数字または DBCS ホスト変数は、NOSQLCCSID オプションが有効であると、DB2 ENCODING バインド・オプション (指定された場合) からの CCSID か、DB2 インストール・パネル DSNTIPF を通じて DSNHDECP で設定された APPLICATION ENCODING からの CCSID で処理されます。