2011-10-20 16 views
5

デルファイ7とmssql 2008の要件私は仕事を始めている新しいプロジェクトでは変更できません。もし可能ならば、データがサーバー上で変更された場合に通知/イベントを取得したいので、ポーリングする必要はありませんDelphi7でSQLServer Service Broker/SQLNotificationsを使用するには?

D7でSQLServiceブローカーを利用することは可能でしょうか、それとも類似したものがありますか(クロストークとADO.NETについて読んで考えていましたが、D2007でサポートが始まります)。

更新:(。例えば、特定のテーブルに/更新を挿入)ただ、絶対に明確にするために、私はデータは、特定のテーブルでを変更した場合、イベントを取得できるようにしたいテーブル/データベースが変更された場合とではありません。

答えて

4

はい、MSSQL Service Brokerによって公開されている通知とイベントにアクセスするには、delphiを使用することができます。これを行うには、非常に豊富なWMiイベントとクラスのセットを公開するWMI Provider for Server Eventsを使用できます。 WMIの初心者であれば、これらの記事を読むことをお勧めします。Accesing the WMI from Object Pascal CodeDelphi and WMI EventsMSSQL Service Brokerのイベントにアクセスするために、WMI Delphi Code Creatorを使用してDelphiスニペットを作成することができます。

+0

thx、私がオフィスに戻ってくるときに明日試してみよう – pastacool

+0

それはちょっと消化するのにちょっとだよ。 – pastacool

+0

こんにちは、読んだ後で、私が今理解していることから、それはWMIプロバイダ特定のテーブルでデータが変更されても(たとえば、update tab1 mod_date = getdate()id = 1の場合)、テーブルが変更された場合のみ(たとえば、alter tab1 newcol intを追加)取得することはできません。 – pastacool

関連する問題