Réception d'une notification automatique de SQL Server lorsqu'une table est non vide
-
23-08-2019 - |
Question
Je voudrais utiliser une table SQL Server comme une file d'attente d'action. Donc, chaque fois que la table est non vide, je voudrais une sorte de notification à mon VDF application, afin d'éviter constamment vote la base de données. VDF repose sur l'utilisation stdcall , la norme convention d'appel de l'API Win 32 ou COM / ActiveX. Une autre solution qui pourrait fonctionner pour moi est d'exécuter simplement un fichier exe lorsque la table est non vide.
Y a-t-il des événements dans SQL Server qui pourraient être utilisés ici? Et comment par VDF (comme décrit ci-dessus), vous allez à canaliser un tel événement à utiliser?
La solution
Vous pouvez utiliser un déclencheur ON INSERT, éventuellement d'envoyer le droit de la ligne MSMQ , où votre application écoute les événements comme les nouveaux messages entrent en jeu.
Voici un exemple de comment nourrir MSMQ en utilisant SQL Server , et ici une courte sur la façon de écouter les événements .
Il y a aussi fournisseur d'événements SQL Server , qui essentiellement fait juste le vote pour vous.
Autres conseils
Comment iriez-vous à canaliser un tel événement à utiliser par VDF.
Comment tu canal pour VDF dépend si vous voulez quelque chose qui se passe dans votre application visible VDF ou whethor vous voulez juste déclencher une procédure VDF.
Dans ce dernier cas, je vous suggère d'utiliser une WebApp pour fournir cette fonctionnalité. VDF (versions sur environ 10) ont le développement web intégré, et il est facile de fournir une interface SOAP pour faire ce que vous voulez.
{ Published = True }
{ Description = "Test the service is alive - returns 'Hello World'" }
Function HelloWorld Returns String
Function_Return "Hello World"
End_Function
Si l'ancien, alors ne soyez pas inquiet sur l'utilisation d'un objet de minuterie pour interroger la base de données toutes les deux secondes. Vous trouverez le code est plus « dataflex » et il n'y a qu'un coup perfomance négligeable.
Il y a cependant une bibliothèque VDF open source pour MSMQ, et qui se trouvent à ..
http://www.vdf-guidance.com/ContribPage.asp? page = PKGGENMESSAGING & ContribRecId = 106
Enfin - Les newsgroups d'accès aux données sont le meilleur endroit où aller pour le soutien Visual DataFlex. Utilisez http://sture.dk/wasp pour rechercher newsgroups historiques et aller à news.dataaccess.com (en utilisant un client NNTP de votre choix) pour afficher et répondre aux questions.