IBM DB2 for iSeries
本節解說如何在資料任務中設定 IBM DB2 for iSeries 來源。在您開始資料任務之前,請確定已滿足必要條件、設定必要權限,並且熟悉限制和考慮事項。
設定連線屬性
本節說明可用的連線屬性。除非另有指明,否則所有屬性皆為必要。
若要開啟連接器,進行下列事項:
-
在連線中,按一下建立連線。
-
選取 IBM DB2 for iSeries 來源連接器,然後提供下列設定:
資料來源
-
資料閘道
-
伺服器:IBM DB2 for iSeries 伺服器的 IP 位址或主機名稱。
選取 Data Movement gateway 以用於移動資料。
帳戶屬性
-
使用者名稱:存取 IBM DB2 for iSeries 伺服器所需的使用者名稱。
-
密碼:存取 IBM DB2 for iSeries 伺服器所需的密碼。
資料庫屬性
- 使用表格和架構系統名稱:IBM DB2 for iSeries 來源連接器會根據 SQL 名稱 (長度不限) 登陸表格。如果您的 IBM DB2 for iSeries 資料庫未使用 SQL 名稱,您不妨保留系統名稱。
- 相對記錄編號 (RRN):請參閱下方的新增 RRN 欄至目標表格。
CDC 屬性
-
日誌名稱:含有來源表格的日誌名稱。
另請參閱: CDC 先決條件
-
日誌物件庫:日誌位於的物件庫名稱。
另請參閱: CDC 先決條件
- 任務開始時略過日誌驗證:自 IBM DB2 for iSeries 7.3 起,Qlik Talend Data Integration 會自動驗證指定日誌。這涉及檢查日誌是否存在,並且含有為登陸選取的表格。為登陸選取眾多表格時,此程序可能會花一些時間。如有此情形,若您確定指定日誌存在,也含有正確的表格,您可略過驗證階段。
- 對於下列選項如需詳細資訊,請參閱下方的 擷取變更時使用 R4I UDTF:
- 啟用 UDTF 擷取
- CDC 讀取器 UDTF 名稱
- UDTF 結果集合大小 (MB)
- 啟用 UDTF 擷取
- 檢查變更的間隔 (秒):檢查來源資料庫變更的頻率。
覆寫 CCSID 對應到代碼頁面
在 CCSID 至字元集對應欄位中,使用以下格式(使用逗號而不是空白格分隔)輸入 CCSID 和字碼頁:
CCSID1,codepage1,CCSID2,codepage2,...
字元集(字碼頁)必須指定使用適當格式(如:ibm-1148_P100-1997)。有效格式清單,請參閱 ICU Converter Explorer。
轉換為自訂代碼頁面
如果使用了不正確的 CCSID 定義來源資料集,且正確的定義實際上位於 UCM 檔案中,請執行下列程序。
-
在 Data Movement gateway 機器上:
- 如果未安裝 ICU 套件,請開啟 shell 提示並安裝 ICU 套件。
-
將工作目錄變更為 <product_dir>/bin。
預設 <product_dir> 是 /opt/qlik/gateway/movement
-
建立具有檔案副檔名的對應資料檔案 .ucm.
資訊備註如果您編輯現有的 UCM 檔案,則也必須變更 <code_set_name> 和 <icu:alias> 屬性的值。如果檔案不包含 <icu:alias> 屬性,那麼只需要變更 <code_set_name> 屬性的值。
-
執行以下命令,為 UCM 檔案建立 CNV 檔案:
makeconv -v <file_name>.ucm
範例:
makeconv -v 1047_EX.ucm
這將建立與 UCM 檔案名稱相同的 CNV 檔案 (例如 1047_EX.cnv)。
-
在 <product_dir>/bin 之下建立名為 icudt<XX>l 的新子資料夾,其中 XX 與 icudt<XX>.dll 檔案名稱中的數字相同。
例如,如果 DLL 檔案名稱為 icudt69.dll,則請建立名為 icudt69l 的新子資料夾。
-
將 CNV 檔案複製到剛剛建立的子資料夾 (<product_dir>/bin/icudt69l 在上面的範例中)。
-
在連接器對話方塊的 CCSID 至字元集對應欄位中,輸入原始來源 CCSID 編號,後面接著不含副檔名的 CNV 檔案名稱。
範例:
1047,1047_EX
-
在 Data Movement gateway 機器上,使用以下命令重新啟動 Data Movement gateway 服務:
sudo systemctl restart repagent
內部屬性
內部屬性用於特殊使用情況,因此不會在對話方塊中顯示。您只能在 Qlik 支援指示下使用。
根據需要使用欄位右側的 和
按鈕以新增或移除屬性。
名稱
來源連線的顯示名稱。
新增 RRN 欄至目標表格
沒有主要金鑰、唯一索引或結合可用作唯一索引的欄位的來源表格,必須在使用相對記錄號碼 (RRN) 的情況下進行註冊。
選擇以下其中一個選項:
- 在無主要金鑰或唯一索引的情況下新增 RRN 欄至目標表格。RRN 欄將自動成為目標表格的主要金鑰。
-
新增 RRN 欄至所有目標表格
- 不要新增 RNN 欄至目標表格
要在有 *AFTER 圖片記載表格的自動認可模式支援刪除操作,請遵循以下步驟:
- 啟用 新增 RRN 欄位至所有目標表格 選項。
-
標記目標上的 RRN 欄為表格單一主要金鑰(使用轉換)。
請注意,未把 RRN 欄新增為主要金鑰將導致在進行刪除操作時,表格會被停用。
當選擇其中一個「新增 RRN 欄」選項,變更表格和目標表格皆會多出一個欄位:INTEGER 類型的 ATTREP_RRN,每一列皆會包含唯一數值。此欄包括對應每個來源表格列的 RRN。
iSeries RRN 數值的 IBM DB2 代表保留表格資料檔案結構中列的確切位置。重新組織表格時,表格會重新建立,將會組態新的RRN 到每一列。因此,應盡可能避免重新組織使用 RRN 為目標金鑰的表格。如果無法避免重新組織一事,您必須立刻重新載入已組織的表格,避免變更應用於目標時產生無法預測的行為(例如:失敗的刪除、重複插入等等)。
擷取變更時使用 R4I UDTF
By default, changes captured from IBM DB2 for iSeries are filtered on the Data Movement gateway machine using the standard display_journal function. When there is a high volume of changes, this may impact Change Processing performance.
Installing the R4I UDTF on IBM DB2 for iSeries enables captured changes to be filtered on IBM DB2 for iSeries instead of on the Data Movement gateway machine, significantly improving CDC performance.
To set up change capture using the R4I UDTF:
-
Go to 產品下載.
-
Select Qlik Data Integration.
-
Scroll down the Product list and select Replicate.
-
In the Download Link column, click the QlikReplicate__R4I.zip link to start your download.
-
Install the R4I UDTF on the IBM DB2 for iSeries server.
- Select the Enable UDTF capturing option.
- If you changed the default CDC reader UDTF name during the R4I installation, specify the new name in the CDC reader UDTF name field.
- In the UDTF result set size (MB) field, you can set the maximum size of the result-set buffer returned by the R4I UDTF. A larger result set will usually improve performance, but will also impact DB2 memory consumption. Therefore, If you want to increase the result-set size, best practice is to run the task in a test environment first as insufficient memory on DB2 might result in data inconsistency on the target (due to partial records being captured).