第 6 课:接收答复和结束会话

新建日期: 2007 年 9 月 15 日

在本课中,您将学习如何从目标服务接收答复消息并结束会话。 请在与数据库引擎的发起方实例运行于同一台计算机的某个 Management Studio 副本中执行这些步骤。

过程

切换到 InitiatorDB 数据库

  1. 复制以下代码并粘贴至查询编辑器窗口中。 然后,运行该代码以将上下文切换回 InstInitiatorDB 数据库,在其中您将收到答复消息并结束会话。

    USE InstInitiatorDB;
    GO
    

接收答复并结束会话

  1. 复制以下代码并粘贴至查询编辑器窗口中。 然后,运行该代码以接收答复消息并结束该会话。 RECEIVE 语句可检索来自 InstInitiatorQueue 的答复消息。 END CONVERSATION 语句用于结束会话的发起方一端。 最后的 SELECT 语句将显示答复消息的文本,以使您可以确认它是否与上一步骤中发送的消息相同。

    DECLARE @RecvReplyMsg NVARCHAR(100);
    DECLARE @RecvReplyDlgHandle UNIQUEIDENTIFIER;
    
    BEGIN TRANSACTION;
    
    RECEIVE TOP(1)
        @RecvReplyDlgHandle = conversation_handle,
        @RecvReplyMsg = message_body
        FROM InstInitiatorQueue;
    
    END CONVERSATION @RecvReplyDlgHandle;
    
    -- Display recieved request.
    SELECT @RecvReplyMsg AS ReceivedReplyMsg;
    
    COMMIT TRANSACTION;
    GO
    

后续步骤

本步骤将结束此教程。 这些教程仅是简单的概述性教程,并未介绍所有可用的选项。 教程中的逻辑和错误处理进行了简化,以便更好地将注意力放在基本操作上。 若要创建高效、可靠和健壮的会话,您需要编写比本教程中的示例更加复杂的代码。

返回 Service Broker 教程

Service Broker 教程

请参阅

其他资源

RECEIVE (Transact-SQL)
END CONVERSATION (Transact-SQL)
WAITFOR (Transact-SQL)
Service Broker Programming Basics

帮助和信息

获取 SQL Server 2005 帮助