Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.
2 Responses
Hi, I went through your tip “Configure SQL Server Service Broker for sending stored procedure data” at http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1310106,00.html.
I found it very interesting and informative. However, whenever I try executing the step to retreive data from the queue
************
DECLARE @dialog_handle UNIQUEIDENTIFIER, @XMLData XML ;
RECEIVE TOP (1) @dialog_handle = conversation_handle, @XMLData = CAST(message_body AS XML)
FROM [tcp://SearchSQLServer/SampleQueue]
END CONVERSATION @dialog_handle
SELECT @XMLData
****************************************
I get the following error :
Msg 8418, Level 16, State 1, Line 4
The conversation handle is missing. Specify a conversation handle.
I tried BOL, googled but can not find good information.
Thanks in advance for your help
In this syntax the error means that there was no message received and the @dialog_handle variable was NULL.
When I’m writing T/SQL to handle Service Broker messages I put logic in just after the receive to see if the @dialog_handle variable is null, and if it is to break out of the code as that means that there was no message processed.
If you aren’t sure if there are messages to process you can do SELECT statements against the queue and look at the messages without receiving them or prcessing them.