Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zugriff auf mehrere Datenbanken in einem SQL Befehl (https://www.delphipraxis.net/54151-zugriff-auf-mehrere-datenbanken-einem-sql-befehl.html)

Charly 28. Sep 2005 23:07

Datenbank: Oracle • Version: 8 • Zugriff über: ODBC

Zugriff auf mehrere Datenbanken in einem SQL Befehl
 
Hallo, ich muss mehrere Tabellen aus verschiedenen Datenbanken zu einer zusammenfügen. Leider finde ich keinen passenden SQL Befehl dazu.

Das ganze sollte so aussehen:

Datenbank1.Tabelle1.Feld1 (Query1) hat die selbe ID wie
Datenbank2.Tabelle1.Feld1 somit bekomme ich die beiden zusammen.

wenn ich nun im SQL aus der Query1 auf die Daten der Datenbank2 zugreifen möchte, muss der Select doch wissen wo er die Datenbank2 findet.

Also ich hab keine Ahnung :gruebel: und wie sieht es bei euch aus ??

mikhal 29. Sep 2005 06:49

Re: Zugriff auf mehrere Datenbanken in einem SQL Befehl
 
Stichwort für Oracle wäre SQL-Link.

Die beiden Datenbanken müssen über sogenannte SQL-Links miteinander kommunizieren. Diese SQL-Links werden im SQL-Statement mit @<SQL-Link> gekennzeichnet.

In folgendem Beispiel ruft Tabelle1 in der Datenbank1 eine Tabelle2 in der über einen SQL-Link verbundenen Datenbank2 auf.

Delphi-Quellcode:
SELECT db1.Feld1 FROM Tabelle1 db1, Tabelle2@datenbank2 db2 where db1.Feld1 = db2.Feld1
Grüße
Mikhal

[edit] Diese SQL-Links müssen auf der Datenbank für jedes Schema von einem Administrator angelegt werden![/edit]

Charly 29. Sep 2005 13:28

Re: Zugriff auf mehrere Datenbanken in einem SQL Befehl
 
Danke für die Info,

jetzt erhalte ich jedoch die Meldung:
"connection description for remote database not found"

Ich habe die 2 Datenbanken über ODBC angebunden, und im Delphi eine Database1 (für die Automatische Verbindung) erstellt.
Für die Tabelle2 habe ich einfach den Tabellennahmen eingetragen bei Datenbank2 den "Database1.Name".

Was muss ich noch einrichten um auf die Tabelle2@datenbank2 zu kommen?. :gruebel:

dfried 29. Sep 2005 13:38

Re: Zugriff auf mehrere Datenbanken in einem SQL Befehl
 
Zitat:

Zitat von mikhal
Diese SQL-Links müssen auf der Datenbank für jedes Schema von einem Administrator angelegt werden!

Wie mikhal schon geschrieben hat, das ganze funktioniert nur wenn die DB-Links auf dem ORACLE-Server eingerichtet (und in der Server-TNSNAMES eingetragen) sind! Nicht per ODBC.

Daniel


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:20 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