Einzelnen Beitrag anzeigen

hschmid67

Registriert seit: 2. Jul 2012
Ort: Weilheim i. Obb.
62 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: DB-Abfragen in Thread - dann joinen

  Alt 28. Sep 2019, 15:13
Hallo K-H,

entschuldige, hab mich wohl etwas kompliziert ausgedrückt:

Ich möchte Daten aus verschiedenen Datenbanken abfragen, also 2, 3, 4 Queries und diese dann miteinander verknüpfen, also dann mit einem Join verbinden also etwa

Code:
SELECT
  q1.feld_a,
  q2.feld_b,
  q3.feld_c
FROM
  db1.tabelle1 q1
  LEFT JOIN db2.tabelle2 q2
  LEFT JOIN db3.tabelle3 q3
Und da ich q1 z.B. lokal liegen hab, sind diese Daten sehr schnell verfügbar, q2 kommt aus einem entfernten MSSQL-Server und q3 vielleicht auch noch aus einem REST-Aufruf, dessen Ergebnis ich zum TDataset mache.

Vielleicht noch eine Ergänzung:

Mit TVirtualQuery (ist bei UniDAC von Devart dabei) kann man Abfragen aus verschiedenen Datasets erzeugen. Daher würde das Ganze dann zwar zuletzt in einer Abfrage stattfinden, zunächst aber kommen die db1.tabelle1, db2.tabelle2 und db3.tabelle3 aus jeweils einem eigenen Tquery-Objekt, sind also drei getrennte DB-Aufrufe, die dann in einem TVirtualQuery verbunden werden.

Wie gesagt, das funktioniert ohne Threads sehr gut, nur eben langsam und mit langer Wartezeit...

Viele Grüße
Harald
Harald Schmid

Geändert von hschmid67 (28. Sep 2019 um 15:24 Uhr)
  Mit Zitat antworten Zitat