![]() |
Datenbank: MariaDB • Version: 10.5.8 • Zugriff über: Zconnection
MariaDB: Event bei neuem Datensatz
Hallo Zusammen,
in der Zwischenzeit hab ich erfolgreich eine MariaDB am Laufen und kann gemütlich reinschreiben und Daten auslesen. Dabei hab ich ein altes Delphi-Programm reaktiviert, dass aus einer Datenbank Temperatur und Feuchtigkeitswerte ausliest und grafisch darstellt. Diese Werte werden von einem ESP8266 regelmäßig eingetragen. Früher hatte ich eine FireBird 2.5 Datenbank für die Werte und darin ein Event, dass jedes Mal abgesetzt wurde, wenn ein neuer Datensatz vorhanden ist. In meinem Programm hab ich einen ZIBEventAlerter dafür platziert gehabt, bei dem dann "ZIBEventAlerterEventAlert" getriggert wurde, wenn das Event zuschlag. Ich hätte so etwas jetzt auch gerne bei der MariaDB. Ist so etwas möglich und falls ja, wie kann ich das realisieren? |
AW: MariaDB: Event bei neuem Datensatz
Soweit mir bekannt unterstützen weder MySQL noch MariaDB solche Benachrichtigungen - zumindest nicht mit Bordmitteln.
Das ist vermutlich auch der Grund, warum diese Datenbanken in der entsprechenden Liste von FireDAC nicht vorkommen: |
AW: MariaDB: Event bei neuem Datensatz
so eine Antwort hab ich irgendwie schon erwartet
bin schon eine Zeit lang auf der Suche - aber finde nichts ist jetzt auch nicht so tragisch, darauf kann ich verzichten könnte natürlich auch mit einem Timer "triggern" |
AW: MariaDB: Event bei neuem Datensatz
Der ESP greift direkt auf die Datenbank zu?
|
AW: MariaDB: Event bei neuem Datensatz
Wir haben hier so etwas mit PRTG (immerhin auch ein Delphi-Programm) am laufen. Das funktioniert aber andersrum: Der ESP8266 stellt einen Webserver zur Verfügung, der die Werte im von PRTG erwarteten Form ausgibt, wenn man ihn aufruft.
|
AW: MariaDB: Event bei neuem Datensatz
der ESP schreibt gemütlich in die Datenbank rein
ein Delphi-Programm holt sich die Daten und zeigt sie grafisch an |
AW: MariaDB: Event bei neuem Datensatz
Dann wird das wohl auf Polling hinauslaufen. Das Delphi Prg schaut regelmäßig nach, obs was neues gibt.
|
AW: MariaDB: Event bei neuem Datensatz
Ich mache das bei MariaDB mit einem Trigger, wenn es neue Daten gibt, oder etwas verändert wurrde und setze dann ein Flag. Das Delphi Programm schaut zyklisch auf das Flag und reagiert entsprechend.
|
AW: MariaDB: Event bei neuem Datensatz
Oder wenn du es ganz simpel machen möchtest, dann vielleicht so in der Art:
Code:
procedure TForm1.Timer1Timer(Sender: TObject);
begin FDQuery1.SQL.Text := 'SELECT MAX(last_modified) FROM deine_tabelle'; FDQuery1.Open; if FDQuery1.Fields[0].AsDateTime > LetzterZeitstempel then begin // Änderung erkannt – aktualisiere Anzeige LetzterZeitstempel := FDQuery1.Fields[0].AsDateTime; AktualisiereDaten(); end; end; |
AW: MariaDB: Event bei neuem Datensatz
Zitat:
Hättest du hierfür vielleicht ein Beispiel? |
| Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz