第 2 课:创建目标对话对象

适用于SQL ServerAzure SQL 托管实例

在本课中,你将学习如何生成使数据库成为另一个数据库中对话的目标的所有对象。

过程

切换到 TargetDB 数据库

  • 将以下代码复制并粘贴到“查询编辑器”窗口中,然后运行它以将上下文切换到 TargetDB 数据库。

    USE TargetDB;
    GO
    

创建消息类型

  • 将以下代码复制并粘贴到“查询编辑器”窗口中,然后运行它来创建对话的消息类型。 指定的消息类型名称和属性必须与在下一课中创建 InitiatorDB 的消息类型名称和属性相同。

    CREATE MESSAGE TYPE [//BothDB/2DBSample/RequestMessage]
        VALIDATION = WELL_FORMED_XML;
    
    CREATE MESSAGE TYPE [//BothDB/2DBSample/ReplyMessage]
        VALIDATION = WELL_FORMED_XML;
    GO
    

创建约定

  • 将以下代码复制并粘贴到“查询编辑器”窗口中,然后运行它来创建对话的协定。 指定的协定名称和属性必须与在下一课中创建 InitiatorDB 的协定相同。

    CREATE CONTRACT [//BothDB/2DBSample/SimpleContract]
        ([//BothDB/2DBSample/RequestMessage] SENT BY INITIATOR,
        [//BothDB/2DBSample/ReplyMessage] SENT BY TARGET);
    GO
    

创建目标队列和服务

  • 将以下代码复制并粘贴到“查询编辑器”窗口中,然后运行它来创建用于目标的队列和服务。 该 CREATE SERVICE 语句将服务与 TargetQueue2DB 该服务相关联,以便将发送到服务的所有消息都接收到该服务中 TargetQueue2DBCREATE SERVICE此外,还指定只有使用前面创建的 BothDB/2DBSample/SimpleContract 的对话才能将服务用作目标服务。

    CREATE QUEUE TargetQueue2DB;
    
    CREATE SERVICE [//TgtDB/2DBSample/TargetService]
        ON QUEUE TargetQueue2DB
        ([//BothDB/2DBSample/SimpleContract]);
    GO
    

后续步骤

你已成功配置为 TargetDB 支持它与该 InitiatorDB会话之间的对话。 接下来,将配置InitiatorDB该会话以启动到该会话。TargetDB