2

データベースに追加するアプリケーションと、データベースの変更を監視するアプリケーションの 2 つのアプリケーションがあります。

データベースの変更を追跡するにはどうすればよいですか (新しいレコード、既存のレコードの変更、削除)、データベース テーブルを監視するシステム ウォッチャーのようなクラスはありますか?

SQL Dependency Class を検索して見つけましたが、それが自分のシナリオに適しているかどうかわかりません。

前もって感謝します、

4

3 に答える 3

1

余分な負担になるため、このシナリオのトリガーを使用することはお勧めしません。

しかし、2つのオプションがあります

1)。 Microsoft SQL Server - Change Data Capture (CDC) -残念ながら、これ は標準バージョンでは利用できません。ただし、Enterprise、Developer、および評価版で見つけることができます

2)。 CodePlex-StandardCDC はこちら

3)。Change Tracking (CT)はオプションです。ここにリンクの説明を入力してください。

于 2013-10-30T14:23:21.887 に答える
0

オープンソース クラスSqlDependencyExを使用します。構成と使用は非常に簡単です。

int changesReceived = 0;
using (SqlDependencyEx sqlDependency = new SqlDependencyEx(
          TEST_CONNECTION_STRING, TEST_DATABASE_NAME, TEST_TABLE_NAME)) 
{
    sqlDependency.TableChanged += (o, e) => changesReceived++;
    sqlDependency.Start();

    // Make table changes.
    MakeTableInsertDeleteChanges(changesCount);

    // Wait a little bit to receive all changes.
    Thread.Sleep(1000);
}

Assert.AreEqual(changesCount, changesReceived);

お役に立てれば。

于 2016-01-08T02:19:40.570 に答える