Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Existe algo como o FileSystemWatcher para Sql Server Tables?


Há também o ADO.NET SqlDependency mecanismo se você estiver usando ADO.NET do lado do cliente com C# ou VB.NET

Você basicamente associa um SqlDependency com seu SqlCommand e forneça um manipulador de eventos que é chamado quando os valores que compõem o conjunto de resultados dessa SqlDependency são alterados.
using(SqlCommand cmd = new SqlCommand(queryStatement, _conn))
{ 
   cmd.Notification = null;

   SqlDependency dependency = new SqlDependency(cmd);

   dependency.OnChange += 
       new OnChangeEventHandler(OnChange);

    ......
}

No manipulador de eventos, você pode fazer o que for necessário.
void OnChange(object sender, SqlNotificationEventArgs e)
{
  SqlDependency dependency = sender as SqlDependency;

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

}

Marco