IBM DB2 for iSeries | Qlik Cloud帮助
跳到主要内容 跳到补充内容

IBM DB2 for iSeries

上次更新日期:2026/9/30

本节介绍如何在数据任务中设置 IBM DB2 for iSeries 源。在开始数据任务之前,请确保已完成 先决条件,设置 所需的权限,并熟悉 限制和考虑事项。

信息注释仅 Qlik Talend Cloud Standard 和 Qlik Talend Cloud Enterprise 订阅支持此连接器。

设置连接属性

本节介绍可用的连接属性。除非另有说明,否则所有属性都是必需的。

要打开连接器,请执行以下操作:

  1. 在连接中单击创建连接。

  2. 选择 IBM DB2 for iSeries 源连接器,然后提供以下设置:

数据源

  • 数据网关

  • 选择用于移动您的数据 数据移动网关。

    有关 数据移动网关 的信息,请参阅Qlik 数据网关 - 数据移动。

  • 服务器:IBM DB2 for iSeries 服务器的 IP 地址或主机名。

帐户属性

  • 用户名:访问 IBM DB2 for iSeries 服务器所需的用户名。

  • 密码:访问 IBMDB2 for iSeries 服务器所需的密码。

数据库属性

  • 使用表和模式系统名称:IBM DB2 for iSeries 源 连接器 基于表的 SQL 名称(不限长度)登陆表。如果您的 IBM DB2 for iSeries 数据库不使用 SQL 名称,那么您可能希望保留系统名称。
  • 相对记录编号 (RRN):请参阅以下的将 RRN 列添加到目标表。

CDC 属性

  • 期刊名称:包含源表的日志的名称。

    另请参阅: CDC 先决条件

  • 日志库:日志所在的库的名称。

    另请参阅: CDC 先决条件

  • 任务启动时跳过日志验证:Qlik Talend Data Integration 从 IBM DB2 for iSeries 7.3,自动验证指定的日志。这包括检查日志是否存在,以及它是否包含选定的要登录的表。当选择多个表进行登陆时,此过程可能需要一些时间。在这种情况下,如果您确定指定的日志存在并且它包含正确的表,则可能需要跳过验证阶段。
  • 有关以下选项的信息,请参阅下面的使用 R4I UDTF 进行更改捕获:
    • 启用 UDTF 捕获
      • CDC 阅读器 UDTF 名称
      • UDTF 结果集大小 (MB)
  • 检查更改的间隔秒数:检查源数据库更改的频率。

覆盖到代码页的 CCSID 映射

在 CCSID 到字符集映射字段中,用以下格式输入 CCSID 和代码页(用逗号分隔,不带空格):

CCSID1,codepage1,CCSID2,codepage2,...

字符集(代码页)必须以正确的格式指定(例如 ibm-1148_P100-1997)。有关有效格式的列表,请参阅 ICU Converter Explorer。

转换为自定义代码页面

如果源数据集使用不正确的 CCSID 定义,并且正确的定义实际上在 UCM 文件中,请执行以下过程。

  1. 在 数据移动网关 机器上:

    1. 如果未安装 ICU 包,请打开 shell 提示符并安装 ICU 包。
    2. 将工作目录更改为 <product_dir>/bin。

      默认 <product_dir> 为 /opt/qlik/gateway/movement

    3. 创建具有文件扩展名的映射数据文件 .ucm.

      信息注释

      如果编辑现有 UCM 文件,还必须更改 <code_set_name> 和 <icu:alias> 属性的值。如果文件不包含 <icu:alias> 属性,则只需更改 <code_set_name> 属性的值。

    4. 通过运行以下命令为 UCM 文件创建 CNV 文件:

      makeconv -v <file_name>.ucm

      示例:

      makeconv -v 1047_EX.ucm

      这将创建一个与 UCM 文件同名的 CNV 文件(例如 1047_EX.cnv)。

    5. 在 <product_dir>/bin 下新建一个名为 icudt<XX>l 的子文件夹,其中的 XX 与 libicudata.so.<XX> 文件名中的数字相同。

      例如,如果共享对象文件名为 libicudata.so.69,则创建一个名为 icudt69l 的新子文件夹。

    6. 将 CNV 文件复制到刚才创建的子文件夹中(上例中的 <product_dir>/bin/icudt69l)。

  2. 在连接器对话框的 CCSID 到字符集映射字段中,输入原始源 CCSID 编号,然后输入不带扩展名的 CNV 文件名。 

    :

    1047,1047_EX

  3. 在数据移动网关 机器上,使用以下命令重新启动 数据移动网关 服务:

    sudo systemctl restart repagent

内部属性

内部属性用于特殊用例,因此不会在对话框中公开。只有在 Qlik 支持部门的指示下,您才应该使用它们。

使用字段右侧的 新建 和 取消 按钮可以根据需要添加或删除特性。

名称

安全连接的显示名称。

将 RRN 列添加到目标表

如果源表没有主键、唯一索引或可以用作唯一索引的列组合,则必须使用相对记录号 (RRN) 进行注册。

选择以下选项之一:

  • 将 RRN 列添加到没有主键或唯一索引的目标表。RRN 列将自动成为目标表的主键。
  • 将 RRN 列添加到所有目标表

  • 不要将 RNN 列添加到目标表

要在自动提交模式下支持使用* AFTER 图像记录的表的 DELETE 操作,请执行以下操作:

  1. 启用将 RRN 列添加到所有目标表选项。
  2. 将目标上的新 RRN 列标记为表的唯一主键(使用转换)。

    请注意,如果执行 DELETE 操作,添加 RRN 列而不将其标记为主键将导致表挂起。

当您选择其中一个“添加 RRN 列”选项时,更改表和目标表都将有一个额外的列,即 INTEGER 类型的 ATTREP_RRN,该列包含每行的唯一值。此列包含对应于每个源表行的 RRN。

信息注释

IBM DB2 for iSeries RRN 值表示保存表数据的文件结构中行的确切位置。当重新组织表时,将重建该表,从而为每一行分配新的 RRN。因此,应尽可能避免将RRN用作目标密钥的表的重组。如果这种重组不可避免,则应立即重新加载重组的表,以防止在对目标应用更改时出现不可预测的行为(例如,失败的 DELETE、重复的 INSERT 等)。

使用 R4I UDTF 进行更改捕获

默认情况下,从 IBM DB2 for iSeries 捕获的更改在 Data Movement gateway 计算机上使用标准 display_journal 函数进行筛选。当存在大量更改时,这可能会影响更改处理性能。

在 IBM DB2 for iSeries 上安装 R4I UDTF,可以在 IBM DB2 foriSeries 而不是 Data Movement gateway 计算机上筛选捕获的更改,从而显著提高 CDC 性能。

警告注释R4I UDTF 每个任务最多可以捕获 300 个表。如果每个任务需要捕获 300 多个表,请不要使用此选项。

使用 R4I UDTF 设置更改捕获:

  1. 转到 产品下载。

  2. 选择 Qlik Data Integration。

  3. 向下滚动产品列表并选择复制。

  4. 在下载链接列中,单击 QlikReplicate__R4I.zip 链接开始下载。

  5. 在 IBM DB2 for iSeries 服务器上安装 R4I UDTF。

  6. 选择启用 UDTF 捕获选项。
  7. 如果在 R4I 安装期间更改了默认的 CD C读取器 UDTF 名称,请在 CDC 读出器 UDTF 名称字段中指定新名称。
  8. 在 UDTF 结果集大小 (MB) 字段中,可以设置 R4I UDTF 返回的结果集缓冲区的最大大小。较大的结果集通常会提高性能,但也会影响 DB2 内存消耗。因此,如果您想增加结果集的大小,最佳做法是首先在测试环境中运行该任务,因为 DB2 上的内存不足可能会导致目标上的数据不一致(由于捕获了部分记录)。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们!