# 先决条件

以下部分描述了使用 IBM DB2 for LUW 连接器的先决条件。

在登陆或复制数据之前，请确保达成以下先决条件：

* 在 数据移动网关 服务器上安装所需的 driver

  信息注释

  只有当您选择使用 数据移动网关 时，才需要这样。有关 数据移动网关 的优势和何时需要它的信息，请参阅 [Qlik 数据网关 - 数据移动](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm)。

* 授予数据源所需的权限

* 配置数据源连接器

## 驱动程序设置

您可以使用驱动程序安装实用程序（推荐）安装 driver 或手动安装。只有在您遇到驱动程序安装实用程序发生问题的少见情况下，才应尝试手动安装。

### 使用驱动程序安装实用程序安装驱动程序

本部分介绍如何安装所需的 driver。这个过程包括下载 driver，将其复制到所需的文件夹（见下文），并运行一个脚本来自动安装和配置它。您还可以根据需要运行脚本来更新和卸载 driver。

### 准备安装

* 请确保在 数据移动 网关服务器上安装了 Python 3.6 或更高版本。

  Python 预装在大多数 Linux 发行版上。您可以通过运行以下命令来检查系统上安装了哪个 Python 版本。

  python3 --version

* 从 IBM 网站下载 IBM Data Server Client "&lt;版本&gt;\_linuxx64\_client.tar.gz"。您可以在此路径中的 binary-artifacts 下面找到受支持版本：/opt/qlik/gateway/movement/drivers/manifests/db2.yaml。下载完成后，将文件复制到：

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

### 安装 driver

安装 driver ：

1. 停止 数据移动网关 服务：

   sudo systemctl stop repagent

2. 可选择确认服务已停止：

   sudo systemctl status repagent

   状态应如下所示：

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

3. 在 数据移动 网关计算机上，将工作目录更改为：

   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. 等待安装完成（以“完成！”指示），然后启动 数据移动网关 服务：

   sudo systemctl start repagent

8. 可选择确认服务已启动：

   sudo systemctl status repagent

   状态应如下所示：

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

### 更新 driver

如果要在安装提供的 driver 之前卸载以前版本的 driver，请运行 update 命令。

更新 driver：

1. 停止 数据移动网关 服务：

   sudo systemctl stop repagent

2. 可选择确认服务已停止：

   sudo systemctl status repagent

   状态应如下所示：

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

3. 在 数据移动 网关计算机上，将工作目录更改为：

   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. 等待安装完成（以“完成！”指示），然后启动 数据移动网关 服务：

   sudo systemctl start repagent

8. 可选择确认服务已启动：

   sudo systemctl status repagent

   状态应如下所示：

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

### 卸载 driver

如果要卸载 driver，请运行 uninstall 命令。

卸载 driver：

1. 停止所有配置为使用此连接器的任务。

2. 在 数据移动 网关计算机上，将工作目录更改为：

   opt/qlik/gateway/movement/drivers/bin

3. 然后运行以下命令：

   语法：

   ./uninstall db2

   将卸载 driver。

### 手动安装驱动程序

只有在自动驱动程序安装未成功完成的情况下，才应尝试手动安装 driver。

在 数据移动网关 机器上，打开 shell 提示符并执行以下操作：

1. 停止 数据移动网关 服务：

   sudo systemctl stop repagent

2. 可选择确认服务已停止：

   sudo systemctl status repagent

   状态应如下所示：

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

3. 安装 IBM Data Client v11.5.8\_linuxx64\_server\_t.tar.gz；选择安装“CLIENT”。

4. 如果 数据移动网关 计算机没有 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` 为驱动程序的 CLIENT 路径。

   **示例（以 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. 启动 数据移动网关 服务：

   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-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/IBM4DB2-luw/IBM4DB2-luw-source.htm) 中所述定义 IBM DB2 for LUW 连接设置，然后单击测试连接。

   如果您得到以下错误：

   `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. 将 数据移动网关bin 目录更改为 (&lt;install\_dir&gt;/bin)。然后，如上所述停止并启动 数据移动网关 服务。

## 在数据库上启用 CDC

要启用 CDC（变更数据捕获）：

* 将数据库设置为可恢复 - 要捕获更改，数据移动网关 需要将数据库配置为可恢复。如果一个或两个数据库配置 `LOGARCHMETH1` 和 `LOGARCHMETH2` 参数和未设置为 OFF，则数据库可以恢复。

* 权限 - 必须向 Qlik 用户授予以下权限：

  * SYSADM 或 DBADM

  * DATAACCESS

* 要从 IBM DB2 for LUW 启用数据捕获，需要按如下方式创建源表：

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

  您可以通过在 连接器 设置中选择自动启用数据捕获更改（需要管理员权限）来配置 数据移动网关 以执行此操作，也可以手动执行此操作。

信息注释

选择自动启用数据捕获更改（需要管理员权限）选项后，数据移动网关 将在任务开始运行时执行 `ALTER TABLE` 操作。如果在任务已经运行时添加了与表选择模式匹配的新表（到源数据库），则 数据移动网关 将仅在使用上述 `DATA CAPTURE CHANGE` 属性创建该表时才会捕获其中的更改。