第 10 章で、以下の段落を更新します。
DB2 DataPropagator (OS/390 版) バージョン 7 (V7) を実行するには、 DB2 (OS/390 版) バージョン 5、DB2 (OS/390 版) バージョン 6、または DB2 (OS/390 版) バージョン 7 が必要です。
DB2 DataPropagator (OS/390 版) V7 は、UNICODE および ASCII エンコード・スキームを サポートしています。 この新しいエンコード・スキームを活用するには、DB2 (OS/390 版) V7 が必要で、 下のセクションで説明されているように DB2 DataPropagator ソース表、ターゲット表、 および制御表を手操作で作成または変換しなければなりません。 ただし、エンコード・スキームを変更しなくても、 既存のレプリケーション環境は DB2 DataPropagator (OS/390 版) V7 では動作しません。
ソース、CD、およびターゲット表が同じエンコード・スキームを使用している場合、 レプリケーション環境でデータを変換する必要性を最小にすることができます。 表のエンコード・スキームを選択するとき、表スペースの文字データは ASCII、UNICODE、 または EBCDIC でエンコードできるという、単一 CCSID 規則にしたがってください。 表スペース内のテーブルはすべて、同じエンコード・スキームを使用しなければなりません。 SQL ステートメントの表すべてのエンコード・スキームは同じでなければなりません。 また、視点および結合に使用される表もすべて、同じエンコード・スキームを使用する必要があります。
単一 CCSID 規則にしたがっていないと、DB2 はバインド時または実行時に違反を検出し、SQLCODE -873 を返します。 どの表が ASCII になり、どの表が UNICODE になるかは、 使用しているクライアント/サーバー構成によって異なります。 特に、表のエンコード・スキームを選択するときには以下の規則にしたがってください。
表に適切なエンコード・スキームを指定するには、表の生成に使用されている SQL を変更します。
Load ユーティリティーと Reorg ユーティリティーについて詳しくは、 「DB2 Universal Database for OS/390 Utility Guide and Reference」を 参照してください。
DPCNTL.MVS は DB2 (OS/390 版) とともに出荷され、sqllib\samples\repl にあります。 このファイルには、制御表を作成するいくつかの CREATE TABLE ステートメントが含まれています。 ASCII または UNICODE でなければならない表 (ASN.IBMSNAP_REGISTER、ASN.IBMSNAP_PRUNCNTL など) の場合、 以下の例に示されているように、CCSID ASCII または CCSID UNICODE キーワードを追加してください。
CREATE TABLE ASN.IBMSNAP_PRUNCNTL ( TARGET_SERVER CHAR( 18) NOT NULL, TARGET_OWNER CHAR( 18) NOT NULL, TARGET_TABLE CHAR( 18) NOT NULL, SYNCHTIME TIMESTAMP, SYNCHPOINT CHAR( 10) FOR BIT DATA, SOURCE_OWNER CHAR( 18) NOT NULL, SOURCE_TABLE CHAR( 18) NOT NULL, SOURCE_VIEW_QUAL SMALLINT NOT NULL, APPLY_QUAL CHAR( 18) NOT NULL, SET_NAME CHAR( 18) NOT NULL, CNTL_SERVER CHAR( 18) NOT NULL, TARGET_STRUCTURE SMALLINT NOT NULL, CNTL_ALIAS CHAR( 8) ) CCSID UNICODE DATA CAPTURE CHANGES IN TSSNAP02;
既存の制御表および CD 表を変更するには、 Reorg ユーティリティーと Load ユーティリティーを使用します。
CREATE TABLE user1.cdtable1 ( employee_name varchar, employee_age decimal ) CCSID UNICODE;
CCSID の詳細については、 「DB2 UDB for OS/390 SQL Reference」を参照してください。