データベースに追加するアプリケーションと、データベースの変更を監視するアプリケーションの 2 つのアプリケーションがあります。
データベースの変更を追跡するにはどうすればよいですか (新しいレコード、既存のレコードの変更、削除)、データベース テーブルを監視するシステム ウォッチャーのようなクラスはありますか?
SQL Dependency Class を検索して見つけましたが、それが自分のシナリオに適しているかどうかわかりません。
前もって感謝します、
データベースに追加するアプリケーションと、データベースの変更を監視するアプリケーションの 2 つのアプリケーションがあります。
データベースの変更を追跡するにはどうすればよいですか (新しいレコード、既存のレコードの変更、削除)、データベース テーブルを監視するシステム ウォッチャーのようなクラスはありますか?
SQL Dependency Class を検索して見つけましたが、それが自分のシナリオに適しているかどうかわかりません。
前もって感謝します、
余分な負担になるため、このシナリオのトリガーを使用することはお勧めしません。
しかし、2つのオプションがあります
1)。 Microsoft SQL Server - Change Data Capture (CDC) -残念ながら、これ は標準バージョンでは利用できません。ただし、Enterprise、Developer、および評価版で見つけることができます
2)。 CodePlex-StandardCDC はこちら
3)。Change Tracking (CT)はオプションです。ここにリンクの説明を入力してください。
オープンソース クラス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);
お役に立てれば。