消息队列集成:将信息插入到SQL数据库
概述
本示例的目标是创建一个消息队列集成,其中包含插入数据库记录的操作,以便能够保存当前打印记录的信息。
Microsoft 消息队列(MSMQ)可以使用 XML 队列消息格式,而 BarTender 从 BarTender 2019 开始原生支持该格式,可以收集有关打印作业的有用信息。
与其他类型的集成不同,此集成会接收 MSMQ 传递的 XML 数据,并将其拆分为可传递给标签文件的变量。
适用范围
BarTender 2019 及更高版本。
信息
场景
某公司需要通过其消息队列服务,使用 XML 数据发送打印作业。当数据(本例中为 XML 数据)通过 Microsoft 消息队列发送并被 BarTender 集成服务读取时,打印作业将被执行。随后,他们需要将打印作业中的记录插入到 Microsoft SQL 数据库中。
实施步骤
以下步骤介绍了如何为上述场景设置、部署和验证集成。
设置标签
由于集成可以识别 XML 的结构,您可以将 XML 记录直接映射到文档中的命名数据源。因此,这种类型的标签不使用数据库,而是通过命名数据源来处理所有数据。下面将介绍如何设置此类标签的基本方法。更多信息请参见帮助文件中的命名数据源。
-
- 新建一个标签。
- 在标签设计区域创建一个文本对象。
- 右键点击标签,选择属性。
- 从列表中选择数据源,显示为“示例文本”。
- 点击名称字段旁边的方框。
- 在弹出的对话框中输入一个唯一名称并点击确定。本例中使用 ORDERNUM。
- 确保类型设置为嵌入式数据。
- 创建更多文本对象时,命名数据源对话框会有所不同。点击名称字段旁边的方框,选择第一个选项以创建新名称。例如,使用 CUSTOMER。
- 本例中,再创建一个命名数据源,名称为 CITY。
- 创建好所有需要的命名数据源后,保存标签。
创建 XML 触发数据
在集成中,您需要一个 XML 格式的触发数据通过 MSMQ 发送。XML 字段名不需要与您的命名数据源名称一致,因为您将在集成中将字段与命名数据源进行匹配。这些 XML 字段名会自动成为集成中的变量。请确保字段名中不包含空格。
示例:
<?xmlversion="1.0">
<ItemInfo>
<Item>
<ORDERNUM>8</ORDERNUM>
<CUSTOMER>Bob Builder</CUSTOMER>
<CITY>Canada</CITY>
</Item>
</ItemInfo>
创建集成
- 打开 Integration Builder,选择创建新集成。
- 在新建集成对话框中,选择消息队列集成,然后点击确定。
- 首先,在集成标签页中指定用户凭据。所指定的用户需要有足够权限访问所用的消息队列。更多信息请参见文章故障排查指南:集成。
- 在左侧菜单中选择输入数据,然后将输入数据格式更改为XML 变量。
-
接下来,设置针对每条数据库记录的操作。
-
数据接收后,集成需要知道如何处理这些传入的记录。
-
- 在左侧菜单中,点击操作旁的+按钮。
- 在对话框中,点击数据库类别,然后选择针对每条数据库记录,再点击确定。
- 在操作列表中点击打印文档操作,并将其拖动到针对每条数据库记录操作下方,直到出现缩进。这样,打印文档操作就成为该操作的子操作。
- 将打印文档操作嵌套在针对每条数据库记录操作下,可以确保 XML 数据在打印时被正确处理。
- 选择打印文档操作,然后点击右侧的命名数据源标签页。
- 勾选为命名数据源指定值,并为每个命名数据源输入名称和值。
设置 SQL 数据库
- 再次点击操作旁的+按钮。
- 点击数据库类别,然后选择插入数据库记录,点击确定。
- 插入数据库记录操作同样作为针对每条数据库记录操作的子操作,并在打印文档操作之后执行,这样打印作业中的变量就会被更新到数据库中。
注意:插入数据库记录操作仅支持关系型数据库类型。对于此操作,数据库设置向导不会显示非关系型数据库类型,如文本、Access 和 Excel,或任何引用非关系型数据库类型的命名数据库连接。 - 添加插入数据库记录操作后,在插入数据库记录标签页点击数据库连接设置。
- 本例中我们使用本地 Microsoft SQL Server 实例,因此选择Microsoft SQL Server,然后点击下一步。
- 在下一页,输入服务器的连接信息、认证方式以及要使用的数据库:
- 关于如何使用数据库设置向导的更多信息,请参见数据库设置对话框。
- 数据库连接设置完成后,需要指定打印作业中保存的变量用于更新数据库中的记录值,因此选择要使用的每一列,并将变量作为要使用的值输入,如下图所示:
- 点击顶部工具栏的测试集成按钮。
- 点击右上角的绿色启动按钮。
- 当指定消息队列收到 XML 数据时,集成会被触发,标签会被打印,数据也会被插入到数据库中。