从 Azure 逻辑应用 中的工作流连接到 IBM DB2 资源

适用于:Azure 逻辑应用(消耗 + 标准)

当自动化集成工作流程需要处理 DB2 数据库中的资源时,可以使用 DB2 连接器对数据库执行操作。 例如,你的工作流程可以列出表或行,添加行,更新行,删除行,运行查询,并执行存储过程。 这些操作可以从数据库中返回数据,以便工作流中的其他操作使用。

Azure 逻辑应用 提供以下 DB2 连接器版本:

  • 托管连接器:适用于消耗型和标准工作流。 对于本地的DB2服务器,该连接器需要本地数据网关。
  • 内置连接器:仅适用于标准工作流程。 该连接器在 Azure 逻辑应用 运行时中运行,直接通过 TCP/IP 连接到 DB2,无需本地数据网关。

这两个版本都通过TCP/IP网络与远程DB2服务器通信。 你可以使用任一版本访问云数据库,比如运行在 Azure 虚拟化中的 IBM DB2 for Windows。

重要

对于使用标准工作流程的关键任务系统,请使用内置连接器。 内置连接器避免了对额外网关的依赖,并提供了在 Azure 逻辑应用 运行时进程内运行所带来的性能和吞吐量优势。 当你需要使用其特定操作,或者使用消耗型工作流时,请使用托管连接器。

本指南介绍了两种连接器版本的操作和连接设置。

支持的平台和版本

DB2 连接器支持以下 IBM DB2 平台和版本以及支持分布式关系数据库体系结构 (DRDA) SQL 访问管理器 (SQLAM) 版本 10 和 11 的 IBM DB2 兼容产品:

平台 版本
IBM DB2 for z/OS 12、11.1、10.1
IBM DB2 for i 7.4, 7.3, 7.2, 7.1
IBM DB2 for LUW(适用于Linux、UNIX和Windows) 11.5, 11.1, 10.5

连接器技术参考

DB2连接器根据 逻辑应用类型和主机环境有不同版本。

逻辑应用程序 环境 连接版本
消费 多租户 Azure 逻辑应用 托管连接器,显示在“共享”筛选器下的连接器库中。 此连接器仅提供操作,而不提供触发器。 对于本地的DB2服务器,管理连接器需要本地数据网关。

有关详细信息,请参阅以下文档:

- DB2 托管连接器参考
- Azure 逻辑应用 中的托管连接器
标准 Workflow Service Plan、应用服务环境 v3(仅支持 Windows 计划的 ASE v3)以及 Azure Arc 支持的 Kubernetes 上的混合部署 托管连接器,该连接器显示在 “共享 筛选器”下的连接器库中,内置连接器显示在 内置 筛选器下的连接器库中,并且 是基于服务提供程序的。 两个版本都只提供操作,而不提供触发器。 对于关键任务工作负载,使用内置连接器,该连接器在 Azure 逻辑应用 运行时运行,直接通过 TCP/IP 连接到 DB2,无需本地数据网关。

有关详细信息,请参阅以下文档:

- DB2 托管连接器参考
- DB2 内置连接器参考
- Azure 逻辑应用 中的内置连接器

管理的连接器操作

DB2 管理连接器支持以下数据库操作,这些操作映射到连接器中的相应操作:

数据库操作 连接器操作
列出数据库表 获取表
使用 SELECT 读取一行 获取行
使用 SELECT 读取全部行 获取行
使用 INSERT 添加一行 插入行
使用 UPDATE 编辑一行 更新行
使用 DELETE 删除一行 删除行

有关托管连接器及其操作的更多信息,请参见 DB2 托管连接器参考。

内置连接器操作

DB2 内置连接器支持以下操作:

Action 说明
DB2 表 返回 DB2 模式中的表。
删除行 删除一行或多行。
执行存储过程 运行存储过程并返回输出。
执行非查询 运行一个不返回结果集的SQL语句。
执行查询 运行SQL查询并返回结果集。
插入行 在DB2表中插入一行。
更新行 更新 DB2 表中的一行或多行。

有关内置连接器及其操作的更多信息,请参见 DB2 内置连接器参考文献。

先决条件

  • Azure 帐户和订阅。 获取试用Azure帐户。

  • IBM DB2 数据库(基于云的或本地)。

  • 要从中访问 DB2 数据库的逻辑应用资源和工作流。

    DB2 连接器仅提供操作。 如果有一个空的工作流,必须先添加一个最适合您的情景的触发器。

    本指南中的示例使用 重复 触发器。

    有关详细信息,请参见:

  • 连接要求取决于连接器版本:

    • 托管连接器:要连接本地DB2数据库,首先 安装并设置本地数据网关。 当DB2服务器在Azure中公开或可访问时,网关就不是必需的。

    • 内置连接器:本地数据网关并非必需。 标准逻辑应用托管环境需要对DB2服务器和端口的网络访问。

添加一个DB2管理连接器操作

以下示例使用了 DB2 托管连接器,展示了如何添加 Get tables 操作。 要将内置连接器用于标准工作流,请在连接器库中选择 Built-in,然后选择 DB2 内置操作,例如 DB2 表。

注释

按相似步骤添加其他 DB2 操作,但需指定的操作参数和值可能不同。

  1. 在 Azure 门户中,在设计器中打开逻辑应用资源和工作流。

  2. 请按照常规步骤添加名为Get tables的DB2操作。

    此时会打开连接信息窗格,以便提供连接 DB2 数据库的详细信息。

  3. 按照步骤为 基于云的数据库 或 本地数据库创建连接,然后返回此处继续。

  4. 成功创建连接后,“获取表操作信息”窗格将显示,并表明不需要其他信息。

    屏幕截图显示了设计器、工作流和获取表操作。

  5. 继续 测试工作流并查看输出表。

为DB2管理连接器设置连接

根据是拥有云数据库还是本地 DB2 数据库,执行这些步骤。 提供所需的连接详细信息后,选择“ 新建”,并返回到前面的步骤。

在创建与本地数据库的托管连接器连接之前,确保安装 并设置本地数据网关。 这个网关要求不适用于内置连接器。

属性 必选 说明
通过本地网关连接 否 仅适用于本地连接。
连接名称 是 连接的名称,例如 DB2 连接。
服务器 是 DB2 服务器的地址或别名和端口号,例如 myDB2server.chinacloudapp.cn:50000。

注意:此值是表示 TCP/IP 地址或别名的字符串,采用 IPv4 或 IPv6 格式,后接冒号和 TCP/IP 端口号。
数据库 是 数据库的名称。

注意:此值是表示 DRDA 关系数据库名称 (RDBNAM) 的字符串。

- DB2 for z/OS 接受一个 16 字节字符串,其中数据库被称为 IBM DB2 for z/OS 的位置。

- DB2 for i 接受一个 18 字节字符串,其中数据库称为 IBM DB2 for i 关系数据库。

- DB2 for LUW 接受 8 字节字符串。
用户名 是 数据库的用户名。

注意:此值是一个字符串,其长度基于特定的数据库:

- DB2 for z/OS 接受 8 字节字符串。

- DB2 for i 接受 10 字节字符串。

- DB2 for Linux/UNIX 接受 8 字节字符串。

- db2 for Windows接受 30 字节字符串。
密码 是 数据库的密码。

例如:

屏幕截图显示了基于云的数据库的连接窗格。

为DB2内置连接器设置连接

对于关键任务型标准工作流,请使用内置连接器。 内置连接器通过 TCP/IP 直接从 Azure 逻辑应用 运行时连接到你的 DB2 服务器,不使用本地数据网关。 确保标准逻辑应用托管环境能够访问 DB2 服务器和端口。

在工作流设计器中,选择 “内置”,选择你想要的DB2操作,然后创建一个连接。 根据您的DB2环境,提供以下相关信息:

属性 说明
连接名称 连接的名称。
服务器名称 DB2服务器名称。
端口号 DB2服务器上的数据库端口号。
数据库 DB2服务器上的数据库名称。
用户名 访问DB2服务器的用户名。
密码 DB2 用户名的密码。
包集合 包裹收集。 如果为空,默认使用用户名。
默认架构 schema 调用的默认 schema,如果为空,则默认为用户名。
主机 CCSID DB2数据库的主机编码字符集标识符(CCSID)如果为空,默认为1208。
电脑代码页 DB2连接的PC代码页如果为空,默认为1208。
附加连接字符串关键词 可选的连接字符串关键字,以分号分隔。
连接字符串 如果 DB2 连接字符串不为空,则其余属性将被忽略。

测试工作流并查看输出表

以下示例展示了受管理连接器“ 获取表” 操作的输出。 你也可以用同样的方式测试使用内置连接器动作的工作流程。 若要手动运行工作流,请在设计器工具栏的 “运行 ”列表中选择“ 运行”。 工作流完成后,可以查看运行中的输出。

  1. 如果运行详细信息页未打开,请根据逻辑应用执行以下步骤:

    • 消耗:在逻辑应用边栏上的 “开发工具”下,选择 “逻辑应用设计器”。

    • 标准:在工作流边栏上,选择“ 运行历史记录”。

  2. 在 “运行历史记录 ”列表中,选择最新的工作流运行,例如:

    • 消费

      屏幕截图显示了消耗工作流的运行历史记录列表。

    • 标准

      屏幕截图显示了标准工作流的运行历史记录列表。

  3. 在运行详细信息页上,查看工作流中每个步骤的状态。 若要查看每个步骤的输入和输出,请选择该步骤,例如:

    屏幕截图显示了“获取表”操作的输入和输出。

    1. 若要查看 JSON 中的输入,请选择“ 显示原始输入”。

    2. 若要查看 JSON 中的输出,请选择“ 显示原始输出”。

      输出包括表列表,例如:

      屏幕截图显示了“获取表”动作的输出。