数据库端口主要功能是允许用户通过从这些数据库端口推送或拉取数据,从而将各种数据库集成到用户的数据流中。
打开知行之桥 EDI 系统,在工作流界面右侧可以看到端口选项卡下有众多端口,我们打开数据库分类,可以看到知行之桥 EDI 系统中支持的数据库端口如下:
Database 端口
DB2 端口
MySQL 端口
Oracle 端口
PostgreSQL 端口
SQL Sever 端口
SQLite 端口
数据库示例工作流
接下来以知行之桥 EDI 系统中自带的示例工作流为例,通过实际项目为大家介绍数据库端口。
导航到知行之桥 EDI 系统的工作流界面,左侧端口列表中找到最下方的示例工作流,将 Amazon Device EDI 到 SQL Sever 工作流拖拽至右侧的空白工作区中:
在此工作流中,以 SQLSever 端口为例,同样需要根据数据流向进行区分。
接收数据存放至数据库中
从 Amazon 处接收 EDI 850 采购订单,点击命名为 Amazon_DB_850 的 SQLSever 端口,在 设置 选项卡下需要进行相应的配置。如下图所示:
1.在 连接 部分,需要点击 创建 连接,配置需要连接的数据库信息,包括:
- 名称
- 服务器
- 端口号
- 数据库
- 用户名
- 密码
填写完成之后点击 测试连接 ,即可验证是否成功连接到目标数据库中,然后点击右下角 创建连接,即可完成配置。我们在这里创建的连接可以被多个端口重复使用。
2.在 操作 部分,需要设置操作类型:
包括:Upsert、Lookup、Select以及Execute Stored Procedure。
Upsert操作介绍
Upsert操作用于插入或更新 SQL Server 数据。 默认情况下,如果 SQL Server 中已存在记录,则使用输入提供的键值对 SQL Server 中的现有数据执行更新。在EDI 工作流中位于末端。
Lookup操作介绍
从 SQL Server 检索值并将该值插入到工作流中已存在的 Arc 消息中,在EDI工作流中位于中间位置。
Select 操作介绍
从 SQL Server 检索数据并将其抓取到知行之桥。可以使用过滤器面板向 Select 添加过滤器。这些过滤器的功能类似于 SQL 中的 WHERE 子句,在EDI 工作流中位于起始端。
执行存储过程
将进入端口的数据视为存储过程的输入,然后将结果向下传递。可以单击显示示例数据 按钮为选定的存储过程提供示例输入并预览结果。
接收850 采购订单时,需要将这里的操作类型设置为 Upsert。
3.在 Upsert 配置部分,需要点击添加,选择存放 850 采购订单的数据库表:po_header以及po_detail。
从数据库中抓取数据
如果需要从数据库中抓取数据到 EDI 系统中,在示例工作流中,以给Amazon发送EDI 856为例。点击命名为 Amazon_DB_856 的 SQLSever 端口,在 设置 选项卡下需要进行相应的配置。如下图所示:
1.在 连接 部分的下拉列表中选择之前创建好的数据库连接,点击测试连接,即可看到弹出提示:测试连接成功,保存成功。
2.在 操作 部分,需要设置操作类型:
给Amazon发送EDI 856发货通知时,需要将这里的操作类型设置为 Select。
3.在 Upsert 配置 部分,需要点击添加,选择存放EDI 856发货通知数据的数据库表:asn_header、asn_po、asn_detail、asn_pack、asn_kit。这里选择的数据库表与数据库中为相应报文创建的数据库表保持一致即可。
数据库端口功能介绍
除了上述基本功能之外,知行之桥 EDI 系统的数据库端口还支持设置过滤规则。
常见的过滤规则为:status 等于 0,用于过滤新增数据。
数据库端口的高级设置
批处理输入
SQL Server 端口支持批处理以提高插入大量数据时的性能。批处理通过 高级设置 界面下标记为 事务容量 和 批处理大小 的两个字段进行配置。当这些字段设置为正整数时,端口在单个操作(批处理)中插入 [批处理大小] 记录,并在单个连接(事务)中插入 [事务大小] 记录。
XML 输入文件可以包含比单个事务大小更多的记录,在这种情况下,端口将在多个事务中插入数据
如果在批量插入过程中发生错误,端口将回滚事务并缓存失败事务中第一条记录的索引。重试输入文件时,只有缓存索引之后的记录才会插入到SQL Server中。
批量输出
当查询输出时,端口可以配置为支持将记录一起批量输出到单个文档中。 最大记录数 设置可用于控制单个消息中应包含多少条记录,批处理大小 设置可用于指示单个批处理组中应包含多少个批处理消息。