![]() |
Datenbank: Interbase • Version: 6 • Zugriff über: dbExpress
Tabellen aus verschiedenen Datenbanken kombinieren
Moin moin,
folgendes bereitet mir Kopfzerbrechen. Und zwar ist es notwendig, dass zwei Tabellen mit idenischen Feldnamen aus zwei verschiedenen Datenbanken in einem DBGrid kobiniert werden sollen. Bei den BDE-Querys konnte man dieses mit den SQL-Befehl "union" bewerkstelligen, allerdings ist jetzt dbExpress+Interbase im Einsatz und da ist dieses nicht mehr möglich. Gibt es eine Lösung, die nicht allzu zeitaufwendig ist? Bin für jeden Vorschlag dankbar! greez, vsti |
Re: Tabellen aus verschiedenen Datenbanken kombinieren
Hi,
also grundsätzlich kann man mehrere Datenbanken so ansprechen (zumindest bei mySQL):
Delphi-Quellcode:
Gruß Igotcha
DATENBANKNAME.TABELLENNAME.FELDNAME
also z.B. SELECT * FROM DB1.TABELLE1, DB2.TABELLE1 |
Re: Tabellen aus verschiedenen Datenbanken kombinieren
Mir ist nicht klar, wo das Problem ist. Interbase kann doch union, afaik.
@igotcha: Beim Union werden die Tabellen "untereinander" angehängt. In deinem Beispiel würde eine Kreuztabelle aus den beiden Tabellen erzeugt. |
Re: Tabellen aus verschiedenen Datenbanken kombinieren
@jascoul
ja, union innerhalb einer Datenbank funktioniert wohl, aber nicht mit unterschiedlichen. Der Weg von Igocha kann auch nicht gehen, weil man in den Komponenten schon bei SQLConnection die Datenbank angeben muss, in der gearbeitet wird. Da liegt ja das eigentliche Problem. |
Re: Tabellen aus verschiedenen Datenbanken kombinieren
Ist es denn wenigstens beides interbase? Sonst dürfte es nämlich gar nicht gehen.
Falls ja, könntest du evtl. in der einen Datenbank ein View machen, der auf die andere Datenbank geht. Dann hast du eine Tabelle und ein View in einer Datenbank, die dann mit einem Union verknüpft werden. |
Re: Tabellen aus verschiedenen Datenbanken kombinieren
jo, ist beides Interbase.
"View" kenne ich noch nicht, das werde ich mir mal anschauen, wäre toll wenn das geht. thx schonmal |
Re: Tabellen aus verschiedenen Datenbanken kombinieren
Gut möglich, dass du dann noch Rechte für die andere Datenbank benötigst. Siehe dir dazu den Befehl Grant an.
|
Re: Tabellen aus verschiedenen Datenbanken kombinieren
Zitat:
|
Re: Tabellen aus verschiedenen Datenbanken kombinieren
also rechte habe ich wohl auf allen Datenbanken. Nur habe ich das gefühl, das VIEW wieder nicht Datenbankenübergreifend funktioniert.
werder wenn ich sage
SQL-Code:
noch wenn ich sage
SELECT * FROM db1.table1
SQL-Code:
CREATE VIEW temp AS
SELECT * from db1.table1 |
Re: Tabellen aus verschiedenen Datenbanken kombinieren
Du hast vielleicht schon die Rechte. Allerdings benötigt die eine Datenbank das Recht, auf der anderen Datenbank eine Select auszuführen.
Du brauchst ein "Grant rights...". Die Syntax habe ich gerade nicht parat. Sorry. ![]() Ich hoffe, der hilft dir. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 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