![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: FireDac
FDQuery als Datenspeicher aus JSON
Hallo Zusammen,
ich stehe gerade ziemlich auf dem Schlauch. Ich habe eine Client-Server App, die den CLients alle 60 Sekunden Daten zur Verfügung stellt. Nur die Server-App spricht mit der DB, indem eine Query ausgeführt wird. Die Clients bekommen diese Daten dann via Stream und speichern ihrerseits diese dann in einer FDMemTable. Die Datenfelder sind dann mit einem DataSource, das an der FDMemTable angebunden ist, verknüpft. Jetzt ändere ich gerade die Abfrage auf dem Server, dass ich nicht mehr die Daten mit einer eigenen Abfrage von der Datenbank holen möchte, sondern eine Funktion der bereitgestellten API nutze. Der Rückgabe ist ein JSON, das ich dann auslese. Wie das funktioniert, war in diesem Post das Thema: ![]() Jetzt möchte ich gerne die ausgelesenen Daten in die FDQuery auf dem Server stecken, damit die Clients sich diese abholen können. (Da mehrere Clients die gleichen Daten zu unterschiedlichen Zeiten abfragen können, ist die Datenbeschaffung davon abgekoppelt und läuft nur strickt einmal pro Minute auf dem Server). Das heiß aber, dass ich eine FDQuery habe, die keine Connection hat, und auch keine Abfrage benötigt, sondern die Daten manuell erhalten und diese an die Clients bei Bedarf weiterschicken soll. Ich habe ziemlich viel Google bemüht aber wahrscheinlich noch nicht das richtige Stichwort gefunden. Ich bin auf SQLite gestoßen, wo eine dateibasierte Datenbank bemüht wird, was ich aber eigentlich auch nicht benötige. Kann mir jemand auf die Sprünge helfen? Vielen Dank Patrick |
AW: FDQuery als Datenspeicher aus JSON
FireDAC enthält ein Feature namens "Local SQL", mit dem man eine FDQuery auf ein beliebiges TDataSet per SQL zugreifen lassen kann. Ich habe das mal verwendet, um Zugriffen auf dBase via "TDBF" zusätzliche SQL-Funktionalität zu geben.
Nachtrag: Also rein mit den JSON Daten in eine serverseitige FDMemTable, dann per LocalSQL in die FDQuery und dann in den Stream? Muss das unbedingt eine FDQuery sein? Irgendwie erscheint mir das überkomplex. |
AW: FDQuery als Datenspeicher aus JSON
Zitat:
Wie würdest Du die Daten denn alternativ für die Clients bereitstellen? In einer FDMemTable? (Den Unterschied habe ich noch nicht verstanden) Ich glaube mit einer FDMemTable kann ich auch die Daten via MemTable.SaveToStream an die Clients schicken... Wie würde ich dann die Daten in die MemTable bekommen? EDIT: Ich habe es jetzt so versucht und das scheint zu klappen... Ich teste mal weiter...
Delphi-Quellcode:
if assigned(FDMTable) then begin
FDMTable.Active := true; FDMTable.Append; FDMTable.FieldByName('OPERATION_NAME').AsString := OperatorName; FDMTable.Post; end; |
AW: FDQuery als Datenspeicher aus JSON
Zitat:
![]() ![]() ![]() Bis bald... Thomas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 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 by Thomas Breitkreuz