ENCODING バインド・オプション
ENCODING オプションは、プランまたはパッケージ内のすべてのホスト変数の静的ステートメント用のアプリケーション・エンコードを指定します。
| コマンド・オプション | オプションの値 | と併用 |
|---|---|---|
| ENCODING |
|
ENCODING(UNICODE)以外の値は、BIND SERVICEコマンドでは無効です。- ENCODING バインド オプションは、ネイティブ SQL プロシージャ、 ネイティブ REST サービス、または高度なトリガー のパッケージの REBIND には無効です。
オプションの説明 ENCODING
- ENCODING(ASCII)
- ASCIIエンコーディングが使用されています。 情報交換用米国標準コード (ASCII) はコード化スキームの 1 つです。 ASCIIは、WindowsなどのIntelベースのシステムや、 Linux® などのUNIXベースのシステムで一般的に使用されています。 詳細については、 ASCII を参照してください。
- ENCODING(EBCDIC)
SYSTEM EBCDIC CCSID フィールド値で指定されたエンコーディングが使用されます。 EBCDIC CCSID フィールド(SCCSID、MCCSID、GCCSID DECP 値 )を参照してください。 EBCDIC(Extended Binary Coded Decimal Interchange Code)は、 IBM® zSystems™ ( z/OS® )および iSeries (System i)で一般的に使用されているエンコーディング方式です。 詳細は、 EBCDIC を参照してください。
- ENDODING(UNICODE)
- Unicodeエンコーディングが使用されています。 Unicode は、現在 100,000 を超える文字の固有コード・ポイントを提供するコード化スキームです。 この標準により、システムではプラットフォーム、プログラム、または言語に関係なく、グローバル・データを容易に処理することができます。 詳細は、Unicode を参照してください。
- ENCODING( ccsid )
- SYSTEM EBCDIC CCSID以外の値。 端末エミュレーターなどのデータ・ソースが、SYSTEM EBCDIC CCSID とは異なる CCSID を使用している場合、このオプションを選択する場合があります。 例えば、1047 の CCSID を使用する端末エミュレーターをユーザーが保有していても、SYSTEM EBCDIC CCSID は 37 です。 この場合、ユーザーが使用するプランまたはパッケージは、ENCODING (1047) を使用してバインドする必要があります。 詳細は、「システムコード化文字集合識別子(CCSID)」 を参照してください。
DB2® version 7 以降でコンパイルされたプランまたはパッケージでは、ASCII、UNICODE、または ccsid (ccsidは SYSTEM EBCDIC CCSID以外の値)を指定できます。
EBCDICは、 DB2 version 6 以前にコンパイルされたプランまたはパッケージの唯一の有効なオプションです。 そのようなプランまたはパッケージで ccsid を指定する場合、ccsid の値は SYSTEM EBCDIC CCSID フィールドの値と一致していなければなりません。 EBCDIC CCSID フィールド(SCCSID、MCCSID、GCCSID DECP 値 )を参照してください。
ENCODING は、SQL ステートメント DESCRIBE によって戻されるデータの内容にも影響を 与えます。 Db2 指定されたアプリケーションのエンコーディング方式で、列名、ラベル名、またはその両方(要求された場合)を返します。
デフォルト値 ENCODING
デフォルトのパッケージアプリケーションのエンコーディングスキームは、プランアプリケーションのエンコーディングオプションから継承されません。 リモート Db2 for z/OS システムにバインドされたパッケージのデフォルトは、リモートサーバーのデフォルトのアプリケーションエンコードスキームです。 同様に、リモート Db2 for z/OS サーバー上でプランまたはパッケージが実行される場合、指定されたENCODINGオプションは無視されます。 代わりに、リモート・サーバーのコード化スキームが使用されます。
次のステートメントはホスト変数の値を設定し、プランにバインドされるパッケージを必要としません。
SET CURRENT PACKAGE SET = :HV ,
SET :HV = CURRENT PACKAGE SET ,
SET :HV = CURRENT PACKAGE PATH ,
SET CURRENT PACKAGE PATH = :HV
ホスト変数は、アプリケーションが ENCODING (EBCDIC/UNICODE) BIND オプションでバインドされる場合でも、システムのデフォルトのアプリケーション・コード化スキームを使用します。
| 処理 | デフォルトの 値 |
|---|---|
| BIND PLAN | インストール時に指定されたシステム・デフォルトの アプリケーション・コード化スキーム |
| BIND PACKAGE | インストール時に指定されたシステム・デフォルトの アプリケーション・コード化スキーム |
| BIND SERVICE | ユニコード |
| REBIND PLAN | 既存の値 |
| REBIND PACKAGE | 既存の値 |
カタログレコード ENCODING
SYSPLAN カタログテーブルまたは SYSPACKAGE カタログテーブルの ENCODING_CCSID 列を参照してください。
値は以下のとおりに設定します。
- MIXED=NO サブシステムの場合、ENCODING(ASCII) または ENCODING(EBCDIC) を指定すると、コード化スキームの SBCS CCSID はカタログに保管されます。
- MIXED=YES サブシステムの場合、ENCODING(ASCII) または ENCODING(EBCDIC) を指定すると、コード化スキームの混合 CCSID はカタログに保管されます。
- ENCODING(UNICODE) を指定すると、混合 CCSID (1208) は MIXED 設定にかかわらず、カタログに保管されます。