使用 BizTalk Server 从 SQL 接收轮询消息,通过多个接收端口接收

假设你想要创建一个包含两个轮询操作的 BizTalk 应用程序。 每个轮询操作都会从同一数据库轮询单独的表(员工表和客户表)。 在 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连接属性。

另请参阅

在 BizTalk Server 中使用 SQL 适配器轮询 SQL Server