在第 10 章中更新下列段落:
|您必須具備 DB2 for OS/390 版本 5、DB2 for OS/390 版本 6 或 |DB2 for OS/390 版本 7,才能執行 DB2 DataPropagator for OS/390 版本 7 (V7)。
|DB2 DataPropagator for OS/390 V7 支援 UNICODE 和 ASCII 編碼方法。 |若要開發新的編碼方法,您必須具備 DB2 for OS/390 V7, |而且必須手動建立或轉換 DB2 DataPropagator 來源、目標及控制表格, |我們將會在下列各節中說明。不過,即使您沒有修改任何編碼方法,您現存的 |抄寫環境將使用 DB2 DataPropagator for OS/390 V7。
|若您的來源、CD 及目標表格使用相同的編碼方法,您可以將抄寫環境中的資料轉換需求降至最低。 |對表格選擇編碼方法時,請遵循單一 CCSID 規則: |表格空間中的字元資料可以用 ASCII、UNICODE 或 EBCDIC 來編碼。 |表格空間內的所有表格必須使用相同的編碼方法。SQL 陳述式中所有表格的編碼方法必須相同。同時,您在檢視及結合中所用的全部表格必須相同的編碼方法。
|若未遵循單一 CCSID 規則,則在連結或執行期間,DB2 將會偵測違規並傳回 SQLCODE -873。哪些表格應該是 ASCII 或 UNICODE,視您的主/從架構而定。 |特別地,當選擇表格的編碼方法時,請遵循這些規則: |
|若要對表格指定適當的編碼方法,請修改用來產生表格的 SQL: |
|有關 Load 和 Reorg 公用程式的詳細資訊,請參閱 DB2 Universal Database |for OS/390 Utility Guide and Reference。
|DPCNTL.MVS 檢附於 DB2 for 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;
|DB2 UDB for OS/390 SQL Reference 包含 CCSID 的詳細資訊。 |