AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken sqlite 3 ... Abfrage mit zwei Datenbanken

sqlite 3 ... Abfrage mit zwei Datenbanken

Ein Thema von Maskenschlitzer · begonnen am 5. Dez 2012 · letzter Beitrag vom 28. Feb 2019
Antwort Antwort
Maskenschlitzer

Registriert seit: 8. Nov 2012
4 Beiträge
 
#1

sqlite 3 ... Abfrage mit zwei Datenbanken

  Alt 5. Dez 2012, 10:09
Datenbank: sqlite • Version: 3 • Zugriff über: Zeos
Moin,

ich habe folgendes Problem:

Zurzeit besitze ich zwei getrennte Datenbanken (welche auch weiterhin getrennt bleiben sollen).

Nun zu meiner Frage, gibt es eine Möglichkeit mit einer tzquery, beide Datenbanken (Verbindung über tzconnection) anzusprechen?

Ich bedanke mich schonmal im vorraus und wenn die Problemstellung unklar erscheint bitte melden

thx

MfG
Maske

Geändert von Maskenschlitzer ( 5. Dez 2012 um 12:29 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: sqlite 3 ... Abfrage mit zwei Datenbanken

  Alt 5. Dez 2012, 10:25
Nach 3 Sekunden googlen nach "sqlite join other database" findet man z.B. das hier:

http://stackoverflow.com/questions/6...rent-databases
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: sqlite 3 ... Abfrage mit zwei Datenbanken

  Alt 5. Dez 2012, 10:34
Crossposts bitte künftig untereinander verlinken.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: sqlite 3 ... Abfrage mit zwei Datenbanken

  Alt 5. Dez 2012, 11:41
Aber klar doch,
für jede DB eine Connection, die wird dann in der Query ausgetauscht.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Maskenschlitzer

Registriert seit: 8. Nov 2012
4 Beiträge
 
#5

AW: sqlite 3 ... Abfrage mit zwei Datenbanken

  Alt 5. Dez 2012, 11:55
@Bernhard Geyer: Vielen Dank, werde es gleichmal testen

@p80286: Ich muss auf beide Datenbanken gleichzeitig zugreifen können.

Ich benötige eine Komponente oder eine Möglichkeit, bei welcher beide Datenbanken enthalten sind und auf die ich dann eine select Abfrage machen kann um somit Information von BEIDEN Datenbanken erhalte.

  Mit Zitat antworten Zitat
Maskenschlitzer

Registriert seit: 8. Nov 2012
4 Beiträge
 
#6

AW: sqlite 3 ... Abfrage mit zwei Datenbanken

  Alt 5. Dez 2012, 12:33
Hier ist ein Bild wie es aussehen sollte^^
Miniaturansicht angehängter Grafiken
sql-zeichnung.png  
  Mit Zitat antworten Zitat
EgonHugeist

Registriert seit: 17. Sep 2011
187 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

AW: sqlite 3 ... Abfrage mit zwei Datenbanken

  Alt 5. Dez 2012, 21:38
Hast du Bernhards Vorschlag von stackoverflow schon getestet? So, wie ich die Syntax interpretiere solltest du quasi eine Verbindung mit sqlite-datenbank-x öffnen und die weiteren via sql als Schema mit Alias einbinden. Somit, wenn das funktioniert, sollte deine Abfrage mit der TZQuery möglich sein. Wäre interessant zu wissen, ob das funktioniert...

Geändert von EgonHugeist ( 5. Dez 2012 um 23:46 Uhr)
  Mit Zitat antworten Zitat
Maskenschlitzer

Registriert seit: 8. Nov 2012
4 Beiträge
 
#8

AW: sqlite 3 ... Abfrage mit zwei Datenbanken

  Alt 7. Dez 2012, 07:33
Moin,

ich habe den Lösungsvorschlag von Bernhard Geyer versuchen wollen, allerdings habe ich auf die schnelle keine Komponente gefunden mit der ich es umsetzen konnte (möglicherweise ist es aber mit einem ZSQLProzessor möglich).
Kann also leider nichts zu der Funktionalität sagen.

Allerdings habe ich nach vielen Versuchen einen anderen Weg gefunden mein Problem zu lösen :

ich habe mir 2 ZConnection genommen und die jeweils benötigten Datenbanken eingetragen. Anschließend nahm ich eine ZConnectionGroup, in welche ich die 2 ZConnection's mit folgenden Codezeilen hinzufügte:
Delphi-Quellcode:
ZConnectionGroup1.InsertComponent(ZConnection1);
ZConnectionGroup1.InsertComponent(ZConnection2);
Daraufhin nahm ich eine ZGroupedConnection, der ich als "ConnectionGroup"- Attribut die ZConnectionGroup zuwies.

Nun ist es möglich, wenn man seiner ZQuery als "Connection"- Attribut die ZGroupedConnection zuweist, eine Abfrage auf beide Datenbanken zu machen.

Test SQL- String meiner Abfrage in dem ZQuery "SQL"- Attribut:
Code:
SELECT
 * 
FROM
Tabelle_aus_Datenbank1 a
LEFT JOIN
Tabelle_aus_Datenbank2 b
ON
b.ID = a.ID
Trotzdem vielen Dank für die Antworten
  Mit Zitat antworten Zitat
Graf Gustav

Registriert seit: 13. Mär 2011
48 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: sqlite 3 ... Abfrage mit zwei Datenbanken

  Alt 28. Feb 2019, 17:48
Der Thread ist ja ein paar Donnerstage alt, aber der letzte Beitrag von Maske ist der einzig stabile, den ich auch heute noch zu dem Thema TZGroupedConnection finden konnte.(sogar ein Verweis im ZeosLib-Board von 2013 : 'I know one german uses the TZGroupedConnection and it's Connection-Groups to join two SQLite databese with one TZQuery-Object....')
Ich habe einige MySQL-Datenbanken, die auf einem MariaDB-Server zuhause sind und von denen ich zwei mit einem SQL-Statement erreichen muss.
Beim Nachvollziehen von Maskes Vorgehensweise musste ich die Server-Parameter in der TZGroupedConnection angeben, sie wurden nicht aus den TZConnections genommen. (Was nebenbei bedeutet, dass die DB auf dem selben Server liegen müssen).
Damit hat dann die Server-Verbindung geklappt, aber die DB-Namen hatte ich bisher immer in den TZConnections angegeben...
Also die DB-Namen in den TZConnections weggelassen und und einfach im SELECT die <DB.Table>-Syntax-benutzt - klappt.
Wozu dann eigentlich die TZGroupedConnection?
Ja, es ist irgendwie ein Treppenwitz, zumindest in in meiner Konstellation (ZeosLib 7.2.1, MySQL/MariaDB 5) funktioniert folgendes einwandfrei:
1 TZConnection, 1 TZ[ReadOnly]Query ohne DB-Angabe und ein 'SELECT * FROM db1.table JOIN db2.table ON ...'
Es wurden zu diesem Thema einige, z.T. sehr weitgehende Diskussionen geführt.
Vielleicht ist es für den einen oder anderen hilfreich, wie einfach das in der hier genannten Umgebung zu realisieren ist.
Reinhold
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz