Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Gibt es so etwas wie den FileSystemWatcher für SQL Server-Tabellen?

Es gibt auch die ADO.NET SqlDependency Mechanismus, wenn Sie clientseitiges ADO.NET mit C# oder VB.NET

verwenden

Sie ordnen im Grunde eine SqlDependency zu mit Ihrem SqlCommand und stellen Sie eine Ereignisbehandlungsroutine bereit, die aufgerufen wird, wenn sich Werte ändern, die die Ergebnismenge dieser SqlDependency bilden.

using(SqlCommand cmd = new SqlCommand(queryStatement, _conn))
{ 
   cmd.Notification = null;

   SqlDependency dependency = new SqlDependency(cmd);

   dependency.OnChange += 
       new OnChangeEventHandler(OnChange);

    ......
}

Im Event-Handler können Sie dann alles tun, was Sie tun müssen.

void OnChange(object sender, SqlNotificationEventArgs e)
{
  SqlDependency dependency = sender as SqlDependency;

  (do whatever you need to do - e.g. reload the data)

}

Markus