次の方法で共有


レッスン 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 のプログラミングの基礎

ヘルプおよび情報

SQL Server 2005 の参考資料の入手