レッスン 6 : 応答の受信とメッセージ交換の終了
新規 : 2007 年 9 月 15 日
このレッスンでは、対象のサービスから応答メッセージを受信し、メッセージ交換を終了する方法を学習します。この手順は、発信側のデータベース エンジン インスタンスと同じコンピュータ上で実行されている Management Studio から実行してください。
手順
InitiatorDB データベースへの切り替え
クエリ エディタ ウィンドウに、次のコードをコピーして貼り付けます。次に、コードを実行して、InstInitiatorDB データベースにコンテキストを切り替えます。このデータベースで、要求メッセージの受信とメッセージ交換の終了を行います。
USE InstInitiatorDB; GO
応答の受信とメッセージ交換の終了
クエリ エディタ ウィンドウに、次のコードをコピーして貼り付けます。次に、コードを実行して応答メッセージを受信し、メッセージ交換を終了します。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 のチュートリアル」に戻る
参照
その他の技術情報
RECEIVE (Transact-SQL)
END CONVERSATION (Transact-SQL)
WAITFOR (Transact-SQL)
Service Broker のプログラミングの基礎