Powered By Blogger

Wednesday, March 29, 2017

Resolving SQL notification error in BizTalk

Hi there,

I was recently working with notification feature in BizTalk and was getting an error from the BTS engine whenever I switched on the receive location.

"The messaging engine failed to add a receive location...."

After going through several articles on MSDN and other forums I realised that the possible cause to the above problem could be due to the following :-

1. SQL broker is not enabled
2. Notification statement is not correctly written.

I checked my database to confirm that the SQL broker is enabled which I found it to be true in my case.



After confirming the above I went through my receive location binding properties to check the notification statement.


Nothing looked wrong at the above setting unless I went through this MSDN site and came across a NOTE which stated that - "You must specifically specify the column names in the statement as shown in this SELECT statement. Also, you must always specify the table name along with the schema name. For example, dbo.Employee."

I went back to the receive location binding property and edited my statement as 'Select ID from dbo.Employee.' . Now when I switched on the receive location , the error was gone and I was now getting the notification message whenever a change was applied on the table.

The lesson learnt from the above issue was that we should always specify the table name along with schema name in a statement.

Regards,
Saurav
BizTalk Developer @ JKT