Einzelnen Beitrag anzeigen

jus

Registriert seit: 22. Jan 2005
343 Beiträge
 
Delphi 2007 Professional
 
#6

AW: Wie mehrere Anwendungen bei Änderung einer Tabelle benachrichtigen

  Alt 9. Dez 2022, 09:57
Hallo,
wollte noch mal rückmelden, dass die MySQL UDF Sache nun läuft. Für die Leute die sowas ähnliches mal machen möchten, eine kurzes Feedback wie ichs gemacht habe:
Mein Glück ist, dass der MySQL Server auf Windows läuft ist. Darum habe ich einfach mein altes Visusal Studio 2005 angeschmissen und in C eine DLL mit einer Methode gemacht. Folgender Link war sehr hilfreich:
Creating MySQL UDFs with Microsoft Visual C++ Express
Die Methode in der DLL verschickt einfach ein UDP Broadcast über WINSOCKET an einem bestimmten Port im Netzwerk. Diese DLL ins MySQL Serververzeichnis (in meinem Fall ./BIN, bei neueren MySQL Versionen eventuell ein anderes Verzeichnis) kopiert und in SQL mit "CREATE FUNCTION..." die Methode von der DLL einbinden. Dann noch 3 Trigger für INSERT, UPDATE und DELETE in der DB gesetzt und fertig. Die Anwendungen bekommen dann immer was mit, wenn eine Änderung in der Tabelle gemacht wird.


Wenn man allerdings eine Lösung wie diese mit der UDF, die einen Server benötigt, der die Clients benachrichtigt, da kann man es auch gleich selbst in den Client einbauen. Gibt es eine Änderung, die andere benachrichtigen sollte, einfach diese vom Client anschubsen und die anderen können bestimmte Nachrichten abbonieren. ....
@MyRealName: ja, ich gebe dir recht, dass ich die Benachrichtigung über WINSOCK UDP Broadcast im Falle einer Änderung über die eigene Anwendung hätte auch machen können. Aber die Sache mit UDF hat mich hier auch irgendwie gereizt.
  Mit Zitat antworten Zitat