假设你想要创建一个包含两个轮询操作的 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连接属性。