Receive Polling Messages Across Multiple Receive Ports from SQL using BizTalk Server

Consider a scenario where you want to create a BizTalk application that includes two polling operations. Each polling operation polls separate tables, Employee and Customer, from the same database. When you deploy such an application in BizTalk Server Administration console, you will need to create two receive ports. The connection URI for each receive port will be:

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

Because both receive ports are receiving polling messages from the same database on the same server, the connection URI for both will be the same. However, a BizTalk application cannot have two receive ports with the same connection URI.

To enable adapter clients to have two receive ports that poll the same database (or even the same table in a database) in a BizTalk application, the SQL adapter provides a connection property, InboundID. You can specify any value for this connection property. By adding the inbound ID, a connection URI becomes unique. For example:

The connection URI for the port receiving polling messages for the Employee table can be:

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

Similarly, the connection URI for the port receiving polling messages for the Customer table can be:

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

Because the connection URIs become unique by adding the InboundID property, you can now have multiple receive ports polling the same database or table in a single BizTalk application.

Important

You can choose to specify the InboundID connection property for both the Polling and TypedPolling operations.

See Also

Poll SQL Server using the SQL Adapter with BizTalk Server