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.