代码之家  ›  专栏  ›  技术社区  ›  FireClaw

SQL Server中是否可能发生程序事件

  •  3
  • FireClaw  · 技术社区  · 16 年前

    场景:应用程序启动后,它连接到数据库并注册自己以侦听特定的事件名称。然后,当满足某些条件时,可以使用触发器或存储过程来引发事件。然后DB通知所有已注册的应用程序它们正在侦听该事件。然后应用程序就可以执行操作并执行一些处理。这使程序不必不断轮询数据库以查看是否满足标准。

    这个场景在Interbase/FirebirdSQL中是可能的,但是在sqlserver(2005或更高版本)中是可能的吗?如果可能的话,我应该寻找什么,因为我正在努力寻找关于这类事情的任何信息。如果这是不可能的,那么有没有更好的方法来处理这种情况,不必投票。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Martin Smith    16 年前

    Service Broker notifications 为了这个。

    不过我想我的警告是 this article

        2
  •  0
  •   cjk    16 年前

    一个可能的解决方案是使用数据驱动订阅服务的CLR触发器。

    当所需的更新发生时,触发器捕捉到它,然后在数据库中查找等待该事件的应用程序是什么,然后通过一些常用方法(webservice等)调用它们到标准接口。