AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Abfrage auf verscheidene DB
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Abfrage auf verscheidene DB

Ein Thema von jangbu · begonnen am 9. Mär 2009 · letzter Beitrag vom 11. Mär 2009
Antwort Antwort
jangbu

Registriert seit: 6. Apr 2006
171 Beiträge
 
Delphi 10.3 Rio
 
#1

SQL Abfrage auf verscheidene DB

  Alt 9. Mär 2009, 12:04
Datenbank: SQL-Server 2000 • Zugriff über: BDE
Hallo,

ich brauche aus Delphi eine SQL-Abfrage auf verschiedene DBs auf verschiedenen SQL-Servern (Master-Detail)
Vereinfacht etwa so:

Delphi-Quellcode:
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.ADD('SELECT A.Auftrag,A.Kunden_nr,K.Kunde FROM AUFTRAG A,Kunde K where A.Kunde = ''Mueller'');
Query1.Open;
Da sich beide benutzte Tabellen in verschiedenen Datenbanken befinden, muss ich irgendwie den Alias bzw. Datenbanknamen mit übergeben, blos wie?
Ich arbeite mit einer Datasource, die ich aber einer DB zugordnet habe. Datasource mit 2 DB's???


Danke jangbu

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

Re: SQL Abfrage auf verscheidene DB

  Alt 9. Mär 2009, 12:09
Du mußt im MS SQL Server einen Link auf die andere DB einrichten.

Ist die andere DB auch ein MS SQL Server oder evtl. nur eine ander DB auf dem gleichen Server?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
jangbu

Registriert seit: 6. Apr 2006
171 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: SQL Abfrage auf verscheidene DB

  Alt 9. Mär 2009, 12:20
Hallo,

es sind beides MS-SQL. Da die verwendete Datasource "einer" DB zugewiesen ist funktioniert das nicht mit Datasource. Ich müsste also irgendwie die Datenbank(name/alias) mit in den SQL-String einbauen:

select .. DB1.TabelleA, DB2.TabelleB

jangbu
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

Re: SQL Abfrage auf verscheidene DB

  Alt 9. Mär 2009, 12:24
Hallo,

schau mal bitte hier: http://www.ms-office-forum.net/forum...d.php?t=141727
  Mit Zitat antworten Zitat
jangbu

Registriert seit: 6. Apr 2006
171 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: SQL Abfrage auf verscheidene DB

  Alt 9. Mär 2009, 13:42
Danke nahpets,

war schon irgendwie klar, nur hat die Syntax nicht gepasst (..DB1.Tabelle1 => ..[DB1].dbo.[Tabelle1] ). Danke jetzt passt's!

jangbu
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: SQL Abfrage auf verscheidene DB

  Alt 9. Mär 2009, 13:53
Zitat:
.DB1.dbo.Tabelle1
... sollte reichen. Klammern [...] sind nur bei ungünstigen Namen nötig (Leerzeichen, ...)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
jangbu

Registriert seit: 6. Apr 2006
171 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: SQL Abfrage auf verscheidene DB

  Alt 9. Mär 2009, 15:23
Das klappt noch nicht!
Die Daten werden in einem DBGrid angezeigt. Das DBGrid hängt an einer DataSource und dieses wiederum an der Query. Der Query muss jedoch "eine" DB (DatabaseName) zugeordnet werden. Hier liegt das Problem: da sich die in der Query abgefragten Felder in verschiedenen DB befinden.

Ich kann mich drehen und wenden die (Delphi)Query sieht entweder die Felder der einen oder der anderen DB.
Delphi-Quellcode:
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.ADD('SELECT A.Auftrag,A.Kunden_nr,K.Kunden_name FROM AUFTRAG.dbo.AUFT A, Kunde.dbo.Knd K where A.Kunde = K.Knr);
Query1.Open;
Wie meinst Du das mit dem Link auf den anderen SQL-Server?

Danke
jangbu

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

Re: SQL Abfrage auf verscheidene DB

  Alt 9. Mär 2009, 15:47
Hallo,
Zitat von jangbu:
Wie meinst Du das mit dem Link auf den anderen SQL-Server?
das ist in dem von mir oben geposten Link im Post #5 nachzulesen.
Durch diesen Link wird der Datenbank, in der der Link eingerichtet wird, eine Datenbank auf einem anderen Server bekannt gemacht, mit der Folge, dass der Zugriff auf den zweiten Datenbankserver vom ersten Datenbankserver gemacht wird. Dadurch ist für die Anwendung nicht zu sehen, dass sie eigentlich auf mehrere Datenbanken auf unterschiedlichen Server zugreift. Daher benötigts Du in Deiner Query auch nur einen DatabaseName und zwar den der Datenbank, auf der der Link eingerichtet wurde.
  Mit Zitat antworten Zitat
jangbu

Registriert seit: 6. Apr 2006
171 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: SQL Abfrage auf verscheidene DB

  Alt 11. Mär 2009, 16:47
sorry, bin erst jetzt wieder da. Habe direkt mit dem Enterprice Manager auf einem SQL-Server einen anderen als Verbindungsserever eingerichtet. Dabei mehrer Varianten ausprobiert Servertyp (Microsoft OLE Provider for SQL-Server mit Providerstring bzw. direkt nur über Angabe des Servernamens). Egal wie, ich sehe immer nur die Tabellen der master-db? Warum sehe ich nicht "meine" Datenbanken? Was muss ich tun damit ich auch die anderen DB sehe?

Danke jangbu
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:21 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