SQL Server 2005 Service Broker 初探
2007-05-13 09:26:17 来源:WEB开发网核心提示: 五、Service Broker“Hello World”大多数编程语言书籍都以“Hello World”示例开始,因此我们也在 Service Broker 中使用 Hello World 作为示例,SQL Server 2005 Serv
五、Service Broker“Hello World”
大多数编程语言书籍都以“Hello World”示例开始,因此我们也在 Service Broker 中使用 Hello World 作为示例。为简化示例,我使用可以从 SQL Server Management Studio 查询窗口运行的 T-SQL 进行编写。大多数 Service Broker 应用程序将作为普通的数据库应用程序,这些应用程序由通过 ADO 或 ADO.NET 与数据库进行通信的可执行程序和使用 T-SQL 或 .NET 语言编写的 SQL Server 存储过程构成。
要发送和接收消息,必须首先创建向 Service Broker 描述应用程序的消息传送部分的元数据对象。在 SQL Server 2005 中,使用新添加的 DDL 语句来创建、修改和删除 Service Broker 元数据。
-- 创建要使用的数据库
Create Database HelloWorldDB
go
Use HelloWorldDB
go
-- 创建要使用的两种消息类型。我们要使用的消息将是
-- 字符串而不是 XML - 因此无需进行验证
CREATE MESSAGE TYPE [HelloWorldRequest] VALIDATION = NONE
CREATE MESSAGE TYPE [HelloWorldResponse] VALIDATION = NONE
-- 创建一个限制此对话框中消息类型
-- 的规范。请求由对话框的初始化程序发出
-- 响应消息由对话框目标发送。
CREATE CONTRACT [HelloWorldContract]
(
[HelloWorldRequest] SENT BY initiator,
[HelloWorldResponse] SENT BY target
)
-- 创建对话框在其间通信的两个队列。A
-- 对话框请求两个队列。
CREATE QUEUE [HelloWorldTargetQueue]
CREATE QUEUE [HelloWorldInitiatorQueue]
-- 创建命名对话框端点的服务。服务会将
-- 会话端点连接到队列。
CREATE SERVICE [HelloWorldRequestService] ON QUEUE [HelloWorldTargetQueue]
(
[HelloWorldContract]
)
CREATE SERVICE [HelloWorldResponseService] ON QUEUE [HelloWorldInitiatorQueue]
go
现在已经设置了元数据,可以发送消息了。请注意,由于初始化程序和目标服务位于同一 SQL Server 实例中,因此消息将直接转到目标队列而不会通过传送队列传送。由于 Service Broker 内置在数据库中,因此可以进行此项性能优化。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接