MySQL-Tabelle für Änderungen in einem C # -Programm überwachen?

9

Ist es möglich, eine mysql-Tabelle auf Änderungen innerhalb einer c # -Anwendung zu überwachen? Ich möchte grundsätzlich ein Ereignis ausgelöst werden, wenn Daten in die Tabelle eingefügt werden. Das einzige, woran ich jetzt denken kann, ist die Tabelle alle 100ms oder so abzufragen.

    
Brian 21.04.2010, 19:58
quelle

2 Antworten

3

Wenn sich sowohl die Anwendung als auch der Datenbankserver auf demselben Computer befinden, können Sie möglicherweise einen Trigger in MySQL einrichten, der NACH EINFÜGEN, UPDATE in eine Protokolldatei schreibt und dann ein FileSystemWatcher um diese Protokolldatei zu sehen. FileSystemWatcher wird Ereignisse auslösen, wenn die Datei geändert wird auf die Ihre Anwendung reagieren kann.

Der Trigger könnte etwa so aussehen:

%Vor%

Ein Problem, das ich mit dem obigen Code sehe, ist, dass das Outfile nicht angehängt werden kann (am besten kann ich sagen), so dass es Probleme gibt, wenn mehrere Abfragen in einem Aufruf ausgeführt werden (oder sogar mehrere Abfragen gleichzeitig von verschiedenen Clients ausgeführt werden) . Irgendwelche Verbesserungsvorschläge sind willkommen.

    
Nathan Taylor 21.04.2010 20:27
quelle
0

Vielleicht fügen Sie Trigger hinzu, aktualisieren, löschen, um die Zeile in einer neuen Tabelle mit zwei Spalten zu protokollieren.

  1. uid der Zeile geändert
  2. Art der Änderung einfügen / aktualisieren / löschen

Dann greifen Sie auf diese Tabelle zu und erfahren, welche Zeilen eingefügt, aktualisiert und gelöscht wurden.

    
SupermanKelly 03.11.2017 10:57
quelle

Tags und Links