De retour de données Sql Dépendance
-
16-09-2019 - |
Question
Je suis en train d'écrire une application qui vb.net usesSqlDependency
. La dépendance sera déclenchée lorsque des données sont ajoutées à la base de données. Je me demande s'il est possible d'avoir la dépendance retourner les données / requête qui a déclenché.
À l'heure actuelle je dois avoir l'événement onchange
déclenche une instruction select pour actualiser les données que je l'ai mis en cache. Est-il possible d'avoir juste la dépendance revenir les nouvelles données qui ont déclenché l'événement
i.e.. Ce qui suit est ajouté à une table, la table dispose de 2 champs (id, données)
id: 1
data: hello
Si l'on ajoute la dépendance onchange événement sera tiré et
id: 1
data: hello
sera de retour
La solution
Voir http://rusanu.com/2006/06/17 / la mystérieuse notification / pour une explication comment fonctionne SqlDependency sous les couvertures. Il est impossible d'obtenir les changements de données ainsi que la notification. Bien qu'il existe des technologies autour du suivi des modifications et Change Data Capture, mais pour une multitude de raisons, ils ne sont pas appropiate pour les changements de surveillance des applications. Ils sont destinés à la synchronisation des données (Sync Framework) et devraient être tiré pour le changement, qui en effet tue toute tentative de les utiliser pour la mise en cache.
La seule technologie de changement de notification proactive est la requête Notificatio, voir plus de détails dans mon lien.
Autres conseils
Non. Je ne pense pas que ce soit possible avec SqlDependency. Vous pouvez soit les déclencheurs d'utilisation, ou utiliser le suivi des modifications dans SQL 2008.