Domanda

I made this Service Broker application: http://pastebin.com/M1jZg2Pt

I want to run stored procedure spInsertLogLine and for a record to end up in table log_line.

I do

exec [broker].dbo.spSendLogLine
  @device_id = 'devid1',
  @application_name = 'appname1',
  @application_user_name = 'usrnme',
  @log_line_dt = 1, --@log_line_dt = GETDATE(), fails
  @log_line_message = 'this is the log line'

I end up with a message in queue qReceiveLogLine with status 3 and nothing in queue qInsertLogLine or in table log_line.

I'm very new to Service Broker. What am I doing wrong?

È stato utile?

Soluzione

In spSendLogLine change:

BEGIN DIALOG CONVERSATION @Handle
FROM SERVICE [sReceiveLogLine] 
TO SERVICE '[sInsertLogLine]'    
ON CONTRACT [cInsertLogLine]     
WITH ENCRYPTION = off;  

to:

BEGIN DIALOG CONVERSATION @Handle
FROM SERVICE [sReceiveLogLine] 
TO SERVICE 'sInsertLogLine'    
ON CONTRACT [cInsertLogLine]     
WITH ENCRYPTION = off;  
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top