Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Esiste qualcosa di simile a FileSystemWatcher per le tabelle SQL Server?

C'è anche ADO.NET SqlDependency meccanismo se stai usando ADO.NET lato client con C# o VB.NET

In pratica associ una SqlDependency con il tuo SqlCommand e fornisci un gestore di eventi che viene chiamato quando i valori che compongono il set di risultati di tale SqlDependency cambiano.

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

   SqlDependency dependency = new SqlDependency(cmd);

   dependency.OnChange += 
       new OnChangeEventHandler(OnChange);

    ......
}

Nel gestore eventi, puoi quindi fare tutto ciò che devi fare.

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

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

}

Marco