使用 BizTalk Server 从 SQL 接收跨多个接收端口的轮询消息

假设你想要创建包含两个轮询操作的 BizTalk 应用程序。 每个轮询操作都会从同一数据库中轮询单独的表(Employee 和 Customer)。 在 BizTalk Server 管理控制台中部署此类应用程序时,需要创建两个接收端口。 每个接收端口的连接 URI 将为:

mssql://<server_name>/<database_instance_name>/<datbase_name>  

由于两个接收端口都从同一服务器上的同一数据库接收轮询消息,因此这两个端口的连接 URI 将相同。 但是,BizTalk 应用程序不能有两个具有相同连接 URI 的接收端口。

为了使适配器客户端能够有两个接收端口轮询同一数据库 (甚至 BizTalk 应用程序中数据库) 中的同一表,SQL 适配器提供连接属性 InboundID。 可以为此连接属性指定任何值。 通过添加入站 ID,连接 URI 将变得唯一。 例如:

接收 Employee 表轮询消息的端口的连接 URI 可以是:

mssql://<server_name>/<database_instance_name>/<datbase_name>?InboundID=Employee  

同样,接收客户表轮询消息的端口的连接 URI 可以是:

mssql://<server_name>/<database_instance_name>/<datbase_name>?InboundID=Customer  

由于连接 URI 通过添加 InboundID 属性变得唯一,因此现在可以让多个接收端口在单个 BizTalk 应用程序中轮询同一数据库或表。

重要

可以选择为轮询TypedPolling 操作指定 InboundID 连接属性。

另请参阅

将 SQL 适配器与 BizTalk Server 配合使用轮询SQL Server