# 必要條件

下列區段描述使用 LUW 版 IBM DB2 連接器的先決條件。

在您可以登陸或複寫資料之前，確認完成下列先決條件：

* 在 資料移動閘道 伺服器安裝必要 driver

  資訊備註

  只有在您選擇使用 資料移動閘道 時，才需要此。如需關於 資料移動閘道 福利以及何時需要的資訊，請參閱 [Qlik 資料閘道 - 資料移動](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm)。

* 在資料來源授予必要權限

* 設定資料來源連接器

## 驅動程式的設定

您可以使用驅動程式安裝公用程式 (建議) 或手動安裝 driver。只能在不太可能發生的事件 (您在使用驅動程式安裝公用程式時遇到問題) 中嘗試手動安裝。

### 使用驅動程式安裝公用程式來安裝驅動程式

此區段描述如何安裝所需的 driver。該流程涉及下載 driver、複製到所需的資料夾 (見下文)，以及執行將會自動安裝並設定該驅動程式的指令碼。您也可以執行指令碼，以根據需求更新並解除安裝 driver。

### 準備安裝

* 確認 Python 3.6 或更高版本安裝於 Data Movement 閘道伺服器。

  Python 會預先安裝在大部分的 Linux 發行版。您可以執行下列命令，以查看哪個 Python 版本安裝在您的系統上：

  python3 --version

* 從 IBM 網站下載 IBM Data Server Client「&lt;version&gt;\_linuxx64\_client.tar.gz」。您可以在 /opt/qlik/gateway/movement/drivers/manifests/db2.yaml 的 binary-artifacts 之下找到支援的版本。下載完成後，將檔案複製到：

  /opt/qlik/gateway/movement/drivers/db2

### 安裝 driver

若要安裝 driver：

1. 停止 Data Movement gateway 服務：

   sudo systemctl stop repagent

2. 可自選，確認服務已停止：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: inactive (dead) since &lt;timestamp&gt; ago

3. 在 Data Movement 閘道機器上，將工作目錄變更為：

   opt/qlik/gateway/movement/drivers/bin

4. 執行下列命令：

   語法：

   ./install db2

   否則，就會顯示 driver 的 EULA。

5. 執行下列其中一個動作：

   * 重複按下 [Enter] 以緩慢瀏覽 EULA。
   * 重複按下空格鍵以快速瀏覽 EULA。
   * 按下 q 以結束授權文字並呈現 EULA 接受選項。

6. 執行下列其中一個動作：

   * 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。

   * 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。

   * 輸入「v」並按下 [Enter] 以再次檢視 EULA。

   將會安裝 driver。

7. 等待安裝完成 (以「完成！」指示)，然後開始 Data Movement gateway 服務：

   sudo systemctl start repagent

8. 可自行選擇確認服務已開始：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: active (running) since &lt;timestamp&gt; ago

### 更新 driver

若您想要在安裝提供的 driver 之前解除安裝先前的 driver 版本，請執行更新命令。

若要更新 driver：

1. 停止 Data Movement gateway 服務：

   sudo systemctl stop repagent

2. 可自選，確認服務已停止：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: inactive (dead) since &lt;timestamp&gt; ago

3. 在 Data Movement 閘道機器上，將工作目錄變更為：

   opt/qlik/gateway/movement/drivers/bin

4. 執行下列命令：

   語法：

   ./update db2

   否則，就會顯示 driver 的 EULA。

5. 執行下列其中一個動作：

   * 重複按下 [Enter] 以緩慢瀏覽 EULA。
   * 重複按下空格鍵以快速瀏覽 EULA。
   * 按下 q 以結束授權文字並呈現 EULA 接受選項。

6. 執行下列其中一個動作：

   * 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。
   * 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。
   * 輸入「v」並按下 [Enter] 以從頭檢閱 EULA。

   將會解除安裝舊版 driver，並安裝新版 driver。

7. 等待安裝完成 (以「完成！」指示)，然後開始 Data Movement gateway 服務：

   sudo systemctl start repagent

8. 可自行選擇確認服務已開始：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: active (running) since &lt;timestamp&gt; ago

### 解除安裝 driver

若您想要解除安裝 driver，請執行解除安裝命令。

若要解除安裝 driver：

1. 停止設定為使用此連接器的所有任務。

2. 在 Data Movement 閘道機器上，將工作目錄變更為：

   opt/qlik/gateway/movement/drivers/bin

3. 執行下列命令：

   語法：

   ./uninstall db2

   將會解除安裝 driver。

### 手動安裝驅動程式

只有在自動驅動程式安裝無法成功完成時，才能嘗試手動安裝 driver。

在 Data Movement gateway 機器上，開啟 shell prompt 並進行以下項目：

1. 停止 Data Movement gateway 服務：

   sudo systemctl stop repagent

2. 可自選，確認服務已停止：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: inactive (dead) since &lt;timestamp&gt; ago

3. 安裝 IBM 資料用戶端 v11.5.8\_linuxx64\_server\_t.tar.gz；選擇安裝「CLIENT」。

4. 舉例來說，如果 Data Movement gateway 機器沒有 DB2，透過進行以下指令建立 DB2：

   `adduser <db2_instance_name>`

   `/opt/ibm/db2/V``11``.5/instance/db2icrt <db2_instance_name>`

5. 新增 DB2 驅動程式位置至 Linux 物件庫路徑。

   要這麼做，請新增以下行至 **site\_ arep\_login.sh** 檔案如下：

   `export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/lib`

   其中 `path` 為驅動程式的用戶端路徑。

   **範例 (以 db2clnt1 作為執行個體名稱)：**

   `export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/db2clnt1/sqllib/lib:/home/db2clnt1/sqllib/lib64/gskit
   `

   `export DB2INSTANCE=db2clnt1`

6. 建立命名為 odbcinst.ini 新檔案在 **/etc** 底下並新增以下項目：

   `[IBM DB2 ODBC DRIVER]`

   `Driver = /home/db2clnt1/sqllib/lib/libdb2o.so`

   `fileusage=1`

   `dontdlclose=1`

7. 開始 Data Movement gateway 服務：

   sudo systemctl start repagent

8. 可自行選擇確認服務已開始：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: active (running) since &lt;timestamp&gt; ago

9. 依據[IBM DB2 for LUW](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/IBM4DB2-luw/IBM4DB2-luw-source.htm)說明針對 LUW 連線設定定義 IBM DB2，再按一下測試連線。

   如果您得到以下錯誤：

   `Cannot connect to DB2 LUW Server ODBC unknown error.`

   `RetCode: SQL_ERROR SqlState: NativeError: -1390 Message: [unixODBC][IBM][CLI Driver] SQL10007N Message "0" could not be retrieved. Reason code: "3". ODBC general error.`

   1. 執行下列命令：

      `/opt/ibm/db2/V11.5/bin /db2cli writecfg add -database <db_name_from_連接器_connection_settings> -host <server_name_from_連接器_connection_settings> -port <port_from_連接器_connection_settings>`

   2. 變更至 Data Movement gatewaybin 目錄 (&lt;install\_dir&gt;/bin)。接著，依照上述說明停止再開始 Data Movement gateway 服務。

## 在資料庫上啟用 CDC

若要啟用 CDC (變更資料擷取)：

* 將資料庫設定為可復原 - 若要擷取變更，Data Movement gateway 需要資料庫設定為可復原。若資料庫設定參數 `LOGARCHMETH1` 和 `LOGARCHMETH2` 的任一個或兩個皆沒有設定為關閉，則資料庫為可復原。

* 權限 - 必須向 Qlik 使用者授予下列權限：

  * SYSADM 或 DBADM

  * DATAACCESS

* 若要從 IBM DB2 for LUW 啟用資料擷取，來源表格必須依照以下建立：

  CREATE / ALTER TABLE table-name …. DATA CAPTURE CHANGES [INCLUDE LONGVAR COLUMNS];

  您可以在 連接器 設定中選擇自動啟用資料擷取變更 (需要管理員權限) 以設定 Data Movement gateway 執行此操作，或者可以手動進行此。

資訊備註

若選取自動啟用資料擷取選項 (需要管理員權限) 選項，Data Movement gateway 會在任務開始執行時執行 `ALTER TABLE` 操作。若在任務準備好執行時新增了符合表格選取模式的新表格 (新增至來源資料庫)，則如果這透過上述的 `DATA CAPTURE CHANGE` 屬性建立，Data Movement gateway 只會從中擷取變更。