日期:2014-05-17  浏览次数:20955 次

如何及时检测到数据库的变更?
需求是这样的。  
  
好比:  上级给你发送了一个任务,数据肯定插入到数据库了,你这边应该如何及时知道数据库的变更呢?

我想知道用到哪些知识点,我就可以尝试去解决!    


是不是用的定时器一会去检测一下?  还是?? 麻烦你给哦指明一下方向!
数据库

------解决方案--------------------
如果你的服务器压力太大,可以用sql server 2005的主动通知机制,可参考:

http://www.thea.cn/xmic_zl_720214-1.htm

不过这个方案就复杂了,
------解决方案--------------------
引用:
需求是这样的。  
  
好比:  上级给你发送了一个任务,数据肯定插入到数据库了,你这边应该如何及时知道数据库的变更呢?

我想知道用到哪些知识点,我就可以尝试去解决!    


是不是用的定时器一会去检测一下?  还是?? 麻烦你给哦指明一下方向!


这与传统的sql语句知识米有关系,这与具体的数据库系统有关。例如对于SQL Server,你可以用CLR方式来写存储过程、触发器,于是你就可以在触发器里边自己写一行通过Socket或者甚至简单的 WebClient().DownlodString(url) 形式去通知其它进程的代码(当然,通过msmq、email、namedPipe等方式也可以,随你)。

另外SqlDependency通过SQL Server的 ServiceBroker 服务来直接通知.net进程,这是人家.net系统已经内置的,也可以采用。