Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SELECT-Abfrage über mehrere MSSQL-Datenbanken (https://www.delphipraxis.net/89826-select-abfrage-ueber-mehrere-mssql-datenbanken.html)

fly_singapore 6. Apr 2007 10:35

Datenbank: MS-SQL 2000 • Zugriff über: Derzeit über ODBC

SELECT-Abfrage über mehrere MSSQL-Datenbanken
 
Hallo Allerseits,

Das Thema wurde mehrmals schon angeschniten, jedoch habe ich für mich noch keine zufriedenstellende Antwort gefunden.

Es geht darum:

Ich entwickele derzeit noch mit einer Altverson Delphi 3 solange bis ich die neueste Version auf meinen Arbeitsplatzrechner habe. Wir haben auf mehreren Servern MS-SQL 2000 installiert mit mehr oder minder grosse Datenbankstrukturen.

Nun möchte ich über zwei oder mehrere Datenbanken hinweg eine SELECT-Abfrage ausführen lassen, ohne allerdings zu wissen, wie ich Tabellen ausserhalb des Query-Objektes ansprechen kann.

die erste Query zeigt auf die Datenbank "KUDB", als Standard SQL-String habe ich "SELECT * FROM tbl_Kudb" eingegeben.

die zweite Query zeigt auf die Datenbank "REFERENZ" als Standard SQL-String habe ich "SELECT * FROM REF_ASP_VS" eingegeben.


jetzt möchte ich gerne beide Tabellen mit einen JOIN verknüpfen.. Was könnte ich tun? :gruebel:

RWarnecke 6. Apr 2007 11:15

Re: SELECT-Abfrage über mehrere MSSQL-Datenbanken
 
Du könntest einen Tempräre Query nehmen, wo Du individuell den SQL-String füllst. Dann könntest Du den SQL-String mit der folgenden Anweisung füllen:
SQL-Code:
SELECT * FROM tbl_Kudb JOIN REF_ASP_VS

fly_singapore 6. Apr 2007 13:55

Re: SELECT-Abfrage über mehrere MSSQL-Datenbanken
 
Braucht den die temporäre Query keine Referenzierung auf eine Datenquelle, also eine Database?

Relicted 6. Apr 2007 14:33

Re: SELECT-Abfrage über mehrere MSSQL-Datenbanken
 
hi!

du kannst 2 datenbanken direkt miteinander "bakannt" machen.
im enterprise manager des mssql servers gibt es dort einen entsprechenden eintrag um 2 oder mehrere datenbanksysteme bekannt zu machen. damit kannst du dann über das query

SQL-Code:
select * from server1.datenbank.tabelle
zugreifen.
leider kann ich dir gerade nicht sagen wie genau das funktioniert, da ich im moment urlaub habe und das nur auf meinem arbeitsplatz schonmal gemacht habe.
es gab da aber auch noch eine restriktion. ich glaube du musstest ein alias hinzufügen wenn mehr als 2 punkte innerhalb des tabellenaufrufs ist.

wenn die datenbanken auf dem selben server liegen solltest du mit datenbankname.tabelle darauf zugreifen können und so auch 2 tabellen aus verschiedenen datenbanken miteinander vereinen können.

ich hoffe ich hab das noch in richtiger erinnerung... ist schon was her dass ich das gemacht habe.

Gruß
Reli

marabu 6. Apr 2007 16:14

Re: SELECT-Abfrage über mehrere MSSQL-Datenbanken
 
Hallo,

voll qualifizierte Tabellennamen (es sind vier Namensteile) sind tatsächlich eine Lösung und wurden einmal in diesem Thread kurz besprochen: insert ueber 2 datenbanken

Frohe Ostern

Neumann 7. Apr 2007 06:27

Re: SELECT-Abfrage über mehrere MSSQL-Datenbanken
 
Hallo,

kann man so etwas auch mit Firebird hinbekommen?

Gruß

Neumann

mkinzler 7. Apr 2007 06:29

Re: SELECT-Abfrage über mehrere MSSQL-Datenbanken
 
Zitat:

kann man so etwas auch mit Firebird hinbekommen?
Nein. Feature soll aber in der 3. Version (Q4/2007 oder Q1/2008) kommen

fly_singapore 7. Apr 2007 20:18

Re: SELECT-Abfrage über mehrere MSSQL-Datenbanken
 
Hallo allerseits,


Zitat:



voll qualifizierte Tabellennamen (es sind vier Namensteile) sind tatsächlich eine Lösung und wurden einmal in diesem Thread kurz besprochen: insert ueber 2 datenbanken


das mit den qualifierten Tabellennamen gefällt.. ich habe in dieser Richtung auch schon überlegt, kamm aber zu keinen ergebnis. Ich werds dann Euch mitteilen, ob es funktioniert hat.


Einstweilen ... Frohe Ostern !!!!!

Relicted 7. Apr 2007 21:12

Re: SELECT-Abfrage über mehrere MSSQL-Datenbanken
 
hidiho...

wenn ich am 16. wieder in der firma bin kann ich gerne mal nen kurzes tutorial schreiben wenn ich dran denk :-)

Gruß
reli

generic 8. Apr 2007 13:06

Re: SELECT-Abfrage über mehrere MSSQL-Datenbanken
 
mit dem voll qualifizierten namen geht das.

ggf. musst du aber vorher noch den anderen server als vertrauten server hinzufügen.

das geht mit der storedproc: sp_addlinkserver


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:44 Uhr.
Seite 1 von 2  1 2      

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