先决条件
以下部分描述了使用 IBM DB2 for LUW 连接器的先决条件。
在登陆或复制数据之前,请确保达成以下先决条件:
-
在 数据移动网关 服务器上安装所需的 driver
信息注释只有当您选择使用 数据移动网关 时,才需要这样。有关 数据移动网关 的优势和何时需要它的信息,请参阅 Qlik 数据网关 - 数据移动。
-
授予数据源所需的权限
-
配置数据源连接器
驱动程序设置
您可以使用驱动程序安装实用程序(推荐)安装 driver 或手动安装。只有在您遇到驱动程序安装实用程序发生问题的少见情况下,才应尝试手动安装。
使用驱动程序安装实用程序安装驱动程序
本部分介绍如何安装所需的 driver。这个过程包括下载 driver,将其复制到所需的文件夹(见下文),并运行一个脚本来自动安装和配置它。您还可以根据需要运行脚本来更新和卸载 driver。
准备安装
-
请确保在 数据移动 网关服务器上安装了 Python 3.6 或更高版本。
Python 预装在大多数 Linux 发行版上。您可以通过运行以下命令来检查系统上安装了哪个 Python 版本。
python3 --version
-
从 IBM 网站下载 IBM Data Server Client "<版本>_linuxx64_client.tar.gz"。您可以在此路径中的 binary-artifacts 下面找到受支持版本:/opt/qlik/gateway/movement/drivers/manifests/db2.yaml。下载完成后,将文件复制到:
/opt/qlik/gateway/movement/drivers/db2
安装 driver
安装 driver :
-
停止 数据移动网关 服务:
sudo systemctl stop repagent
-
可选择确认服务已停止:
sudo systemctl status repagent
状态应如下所示:
Active: inactive (dead) since <timestamp> ago
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./install db2
否则,将显示 driver 的 EULA。
-
执行以下选项之一:
- 重复按 [Enter] 可在 EULA 中缓慢滚动。
- 重复按空格键可快速滚动 EULA。
- 按 q 退出许可证文本并显示 EULA 接受选项。
-
执行以下操作之一:
- 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
- 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
-
键入“v”并按 [Enter] 以再次查看 EULA。
-
等待安装完成(以“完成!”指示),然后启动 数据移动网关 服务:
sudo systemctl start repagent
-
可选择确认服务已启动:
sudo systemctl status repagent
状态应如下所示:
Active: active (running) since <timestamp> ago
将会安装 driver。
更新 driver
如果要在安装提供的 driver 之前卸载以前版本的 driver,请运行 update 命令。
更新 driver:
-
停止 数据移动网关 服务:
sudo systemctl stop repagent
-
可选择确认服务已停止:
sudo systemctl status repagent
状态应如下所示:
Active: inactive (dead) since <timestamp> ago
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./update db2
否则,将显示 driver 的 EULA。
-
执行以下选项之一:
- 重复按 [Enter] 可在 EULA 中缓慢滚动。
- 重复按空格键可快速滚动 EULA。
- 按 q 退出许可证文本并显示 EULA 接受选项。
-
执行以下操作之一:
- 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
- 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
- 键入“v”并按 [Enter] 可从头开始查看 EULA。
-
等待安装完成(以“完成!”指示),然后启动 数据移动网关 服务:
sudo systemctl start repagent
-
可选择确认服务已启动:
sudo systemctl status repagent
状态应如下所示:
Active: active (running) since <timestamp> ago
将卸载旧的 driver,并安装新的 driver。
卸载 driver
如果要卸载 driver,请运行 uninstall 命令。
卸载 driver:
-
停止所有配置为使用此连接器的任务。
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./uninstall db2
将卸载 driver。
手动安装驱动程序
只有在自动驱动程序安装未成功完成的情况下,才应尝试手动安装 driver。
在 数据移动网关 机器上,打开 shell 提示符并执行以下操作:
-
停止 数据移动网关 服务:
sudo systemctl stop repagent
-
可选择确认服务已停止:
sudo systemctl status repagent
状态应如下所示:
Active: inactive (dead) since <timestamp> ago
- 安装 IBM Data Client v11.5.8_linuxx64_server_t.tar.gz;选择安装“CLIENT”。
-
如果 数据移动网关 计算机没有 DB2 实例,请运行以下命令创建 DB2 实例:
adduser <db2_instance_name>
/opt/ibm/db2/V11.5/instance/db2icrt <db2_instance_name>
-
将 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
-
创建名为 odbcinst.ini 的人均于 /etc 并添加以下输入项:
[IBM DB2 ODBC DRIVER]
Driver = /home/db2clnt1/sqllib/lib/libdb2o.so
fileusage=1
dontdlclose=1
-
启动 数据移动网关 服务:
sudo systemctl start repagent
-
可选择确认服务已启动:
sudo systemctl status repagent
状态应如下所示:
Active: active (running) since <timestamp> ago
-
如 IBM DB2 for LUW 中所述定义 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.
-
然后运行以下命令:
/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>
-
将 数据移动网关bin 目录更改为 (<install_dir>/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 属性创建该表时才会捕获其中的更改。