日期:2014-05-20  浏览次数:20834 次

sql2008查询通知
C#winform程序
客户端用SqlDependency监视数据库中的一个表
sql2005+windows server 2003运行正常
把程序移植到sql2008 windows server 2008企业版就无法接收到通知。
网上我看懂了的方法都试过,一直没有解决
数据库查询通知功能已开启
通知队列也已经创建
CREATE QUEUE myQueue
CREATE SERVICE myService ON QUEUE myQueue 
([http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification])
相应的用户也提了权限
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO TestUser
TestUser同时也是测试数据库中的sysAdmin,
就是无法收到查询通知消息,求解...
还给不了200分的贴子...

------解决方案--------------------
两个可能出现问题的地方
1、 是否在一台机,如果多台机需要创建了服务路由,以及相关的端点
2、是否没有创建事件通知 ,你应该用个比较常见的事件来测试
------解决方案--------------------
我们这边实现邮件发送队列方法如下:
把数据放到一张表里,表里有个状态字段,
如果状态为1 设置为 待发送
系统服务每分钟读取一遍,
有的话 提取数据 发送.....

没搞过这块,
看看能不能帮上忙....
------解决方案--------------------
探讨

顶上去,100分都没人来过问?

------解决方案--------------------
探讨

引用:

顶上去,100分都没人来过问?

不是不回复,是真不会呀,呵呵

------解决方案--------------------
这个是不是要用到 service broker 功能呀
------解决方案--------------------
先搞个简单的程序测试一下
------解决方案--------------------
没有搞过window2008,先帮顶一下。
不过,作为实验,可以这样试一下:
换成SQLserver2008+window2003试试。
看看能不能收到通知,就是sqlserver2008的问题;如果能收到就是window2008的问题。
或许是window 2008有些配置没有弄对。