2011-10-20 42 views
5

delphi 7和mssql 2008是要求我不能改變一個新的項目我開始工作,如果可能我想獲得通知/事件如果數據在服務器上更改,所以我不必輪詢所以問題是:如何在Delphi7中使用SQLServer Service Broker/SQLNotifications?

是否有可能利用D7的SQLService代理或是否有類似的東西(正在閱讀/思考串擾和ado.net,但支持僅在D2007開始)?

更新:只要是絕對清楚的,我希望能夠得到一個事件,如果數據改變某些表,而不是如果一個表/數據庫更改(如插入/對特定表更新)。

回答

4

是的,可以使用delphi來訪問MSSQL Service Broker公開的通知和事件。要做到這一點,你可以使用WMI Provider for Server Events,它公開了一組非常豐富的WMi事件和類。如果您是WMI的新手,我推薦您閱讀這些文章Accesing the WMI from Object Pascal CodeDelphi and WMI Events也可以使用WMI Delphi Code Creator創建一個Delphi片段來訪問MSSQL Service Broker的事件。

+0

THX,會嘗試明天,當我回到辦公室 – pastacool

+0

這是相當多的消化 – pastacool

+0

喜,一些閱讀,就像我可以,從我現在明白了,在我看來,與WMI提供程序後即使數據在特定表上發生變化(例如,更新tab1設置mod_date = getdate(),其中id = 1),但只有在表更改(例如,更改tab1添加newcol int)時才能得到。 – pastacool

相關問題