【问题标题】:How to use SQLServer Service Broker/SQLNotifications with Delphi7?如何在 Delphi 7 中使用 SQL Server Service Broker/SQL 通知?
【发布时间】:2011-10-20 22:28:20
【问题描述】:

delphi 7 和 mssql 2008 是我无法为我开始工作的新项目更改的要求,如果可能的话,如果服务器上的数据发生更改,我想获得通知/事件,所以我不必投票所以问题是:

是否可以将 SQLService 代理与 D7 一起使用,或者是否有类似的东西(正在阅读/考虑 crosstalk 和 ado.net,但仅从 D2007 开始支持)?

更新:绝对清楚,如果某些表中的数据更改(例如,在特定表上插入/更新),我希望能够获得一个事件如果表/数据库发生变化,则不会。

【问题讨论】:

    标签: delphi sql-server-2008 delphi-7


    【解决方案1】:

    是的,可以使用 delphi 访问 MSSQL 服务代理公开的通知和事件。为此,您可以使用WMI Provider for Server Events,它公开了一组非常丰富的 WMi 事件和类。如果您是 WMI 新手,我建议您阅读这些文章 Accesing the WMI from Object Pascal CodeDelphi and WMI Events 也可以使用 WMI Delphi Code Creator 创建 Delphi sn-p 来访问 MSSQL Service Broker 的事件。

    【讨论】:

    • 嗨,经过尽可能多的阅读,根据我现在的理解,在我看来,使用 WMI Provider 即使特定表上的数据发生变化,您也无法获得. update tab1 set mod_date = getdate() where id = 1) 但仅当表发生变化时(例如,alter tab1 add newcol int)。
    • 我应该如何处理这个问题 - 投票赞成关闭、删除还是?
    • 抱歉,回答延迟。您可以使用WMI provider for server events 不仅用于监控 DDL 语句,还可以监控跟踪事件(包括 SELECT、INSERT UPDATES 等的 sql 语句)查看 WMI Provider for Server Events Classes and Properties 的 MSDN 文档
    • 谢谢 - 自从我问到这件事(得到一份新工作等)以来发生了很多事情。如果我找到一个安静的时刻,我会再看看。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-07
    • 2010-11-21
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    相关资源
    最近更新 更多