最新活动:电脑PC端+手机端+微网站+自适应网页多模板选择-建站388元起价!!!
当前位置:主页 > 网站建设 > SSB(SQLservice Service Broker) 入门实例介建站知识

SSB(SQLservice Service Broker) 入门实例介建站知识

时间:2023-05-23 22:05:23 阅读: 文章分类: 网站建设 作者: 网络小编

导读:1建站知识前两天用了 MSsql里的 SSB委托机制,做了一个消息分发的小功能,在这里简单跟大家分享一下方法跟实例建设网站网站建设。

建设网站网站建设

step 1:perpar database & data

复制代码 代码如下:

use mastergoCreate database Inventorygouse InventorygoCreate table inventory( TitleId nvarchar(6) not null, Quantity int not null, primary key (TitleId,Quantity));go

insert inventory values ('pc1001',100);insert inventory values ('pc1002',200);insert inventory values ('pc1003',300);insert inventory values ('pc1004',400);

step 2: 创建整个SSB的基础框架.

首先创建信息类型

复制代码 代码如下:

Create Message Type [//mark/v10/types/inventory]Create Message Type [//mark/v10/types/inventoryresponse]

创建合约

复制代码 代码如下:

Create contracts [//mark/v10/contracts/inventorycontract]( [//mark/v10/types/inventory] send by initiator, [//mark/v10/types/inventoryresponse] send by target );

创建队列与服务

复制代码 代码如下:

create queue [inventory client queue];create service [//mark/v10/services/inventory client] on queue [inventory client queue] go --create inventory service create queue [inventory queue]; create service [//mark/v10/services/inventory] 网站建设公司 on queue [inventory queue] ( [//mark/v10/contracts/inventorycontract] );

step 3:发送消息到消息队列中

复制代码 代码如下:

use Inventorygo--send messagebegin transaction declare @dialog_id uniqueidentifier begin dialog conversation @dialog_id from service [//mark/v10/services/inventory client] to service '//mark/v10/services/inventory' on contract [//mark/v10/contracts/inventorycontract] with encryption = off; send on conversation @dialog_id message type [//mark/v10/types/inventory] ( '<InventoryUpdate> <TitleId>pc1001</TitleId> <Quantity>102</Quantity> </InventoryUpdate>' ); commit transaction;

发送成功后,可以查询 inventory_queue

复制代码 代码如下:

select conversation_handle, cast(message_body as xml) as conversation_body from [Inventory queue]

这里只是查询了两列。 其中conversation_body 就是 我们发出的信息了。

setp 4: 从 inventory queue 中获取信息并更新数据

复制代码 代码如下:

use inventorygobegin transaction declare @dialog_id uniqueidentifier declare @message_body xml declare @amount int; declare @title nvarchar(128); receive @dialog_id = conversation_handle, @message_body = message_body from [dbo].[Inventory queue] print 'handle is' + cast(@dialog_id as nvarchar(90)) print 'message body is' + cast(@message_body as nvarchar(max) ) if(@dialog_id is not null) begin set @amount = @message_body.value('(/InventoryUpdate/Quantity)[1]','int'); set @title = @message_body.value('(/InventoryUpdate/TitleId)[1]','nvarchar(100)'); print 'a:'+cast(@amount as nvarchar(100)) print 'b:'+@title; Update inventory set Quantity = @amount where TitleId = @title; end end conversation @dialog_id; commit transaction;

关键词标签: 实例 入门 SQL

声明: 本文由我的SEOUC技术文章主页发布于:2023-05-23 ,文章SSB(SQLservice Service Broker) 入门实例介建站知识主要讲述实例,入门,SQL网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_6034.html

我的IDC 网站建设技术SEOUC.COM
专注网站建设,SEO优化,小程序设计制作搭建开发定制网站等,数千家网站定制开发案例,网站推广技术服务。
  • 5000+合作客服
  • 8年从业经验
  • 150+覆盖行业
  • 最新热门源码技术文章