如何编写从应用程序到数据库的通知请求的查询?

时间:2013-06-21 08:21:35

标签: sql-server queue service-broker query-notifications

This is my perivous question。关于如何从数据库而不是应用程序拉取数据推送数据。

在完成link和我知道的文档后,我需要在应用程序端编写一个查询通知请求,然后DB将在订阅中注册我的请求,如果数据库中有任何更改它会检查订阅,如果请求在那里,它会将消息发送给客户端。

该段来自上述链接

Along with the query submitted for the notification, the client submits a service name
and a broker instance. Each notification subscription begins a Service Broker dialog 
with this provided service and broker instance. When data is changed and the change 
would affect the result of the submitted query result, a message is sent on this   
dialog. By sending this message, the client is considered notified and the notification 
subscription is removed. If client desires to be notified on further changes, is  
supposed to subscribe again.

现在我不知道如何在应用程序端编写查询以获取通知请求,而且我不会从上面给出的段落submit a service and a broker instance。我想在查询数据库以获取通知请求之前,需要在应用程序中创建服务和代理实例。如果是这样如何创建服务和代理实例?

我可以通过select * from sys.dm_qn_subscriptions命令检查数据库服务器是否有订阅。有谁可以帮助我?

1 个答案:

答案 0 :(得分:0)

可能你完全不理解对上一个问题的回答,所以我会尝试澄清一些事情:

  

我想需要在中创建服务和代理实例   应用程序在查询数据库之前的通知请求。如果它   是如何创建服务和代理实例的呢?

服务代理是SQL Server的一个组件,您不是实例也不是创建它。您启用它 - 这是一个SQL Server管理任务。

要创建新服务,您必须先create queue为它,然后contract才能建立通信方式。然后你create your service

当您创建服务时,Service Broker将处理实例化,激活和其他相关操作。