AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi 2 Datenbanken über Join verknüpfen. Denkfehler?
Thema durchsuchen
Ansicht
Themen-Optionen

2 Datenbanken über Join verknüpfen. Denkfehler?

Ein Thema von HartiMcFly · begonnen am 23. Okt 2006 · letzter Beitrag vom 23. Okt 2006
Antwort Antwort
HartiMcFly

Registriert seit: 3. Mär 2005
18 Beiträge
 
#1

2 Datenbanken über Join verknüpfen. Denkfehler?

  Alt 23. Okt 2006, 11:02
Datenbank: Firebird • Zugriff über: IB Komponenten
Hallo zusammen,

ich habe 2 Datenbanken. Ich muß diese im Delphi miteinander verbinden.

Ich bin folgendermaßen vorgegangen.
Für jede Datenbank IBDatabse, IBTransaktion, IBQuery, IBUpdateSQL, DataSource ( weißt auf den jeweiligen IBQuery )

Im ersten IBQuery folgende SQL Anweisung

select * from STAMMDATEN

Im zweiten IBQuery DataSource des ersten IBQuery ausgewählt, und folgende SQL Anweisung

select TELEFON.TELEFON, TELEFON.FAX, TELEFON.RAUM, STAMMDATEN.NAME FROM TELEFON INNER JOIN STAMMDATEN ON TELEFON.ID=:STAMMDATEN.ID

Als Fehlermeldung erhalte ich

Dynamic SQL Error, SQL Error Code = -104 Token unknown -line 1, char 108.

ich gehe mal davon aus, dass ich nur einen kleinen Dreher habe, aber wirklich finden tu ich ihn nicht.

Nehme ich folgenden Doppelpunkt ( TELEFON.ID=:STAMMDATEN.ID) heraus, bekomme ich die Fehlermeldung Table unknown Stammdaten.
Wo muß ich denn noch auf diese Tabelle verweisen?

Vielleicht kann ja von euch mal jemand drüber schauen.

Danke Patrick
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: 2 Datenbanken über Join verknüpfen. Denkfehler?

  Alt 23. Okt 2006, 11:05
Ja, du hast einen Denkfehler.

Man kann 2 Datenbanken nicht joinen. Das geht maximal mit 2 Tabellen innerhalb einer Datenbank.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
HartiMcFly

Registriert seit: 3. Mär 2005
18 Beiträge
 
#3

Re: 2 Datenbanken über Join verknüpfen. Denkfehler?

  Alt 23. Okt 2006, 11:32
Schade aber auch...

Danke trotzdem

Patrick
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: 2 Datenbanken über Join verknüpfen. Denkfehler?

  Alt 23. Okt 2006, 12:11
Zitat von chaosben:
Ja, du hast einen Denkfehler.

Man kann 2 Datenbanken nicht joinen. Das geht maximal mit 2 Tabellen innerhalb einer Datenbank.
Nicht unbedingt Denkfehler. Je nach verwendete Datenbank und Zugriffsschicht ist es sehr wohl möglich aus verschiedenen Datenbanken Tabellen zu verknüpfen. Desktopdatenbanken dürften das alle können indem einfach mit kompletten Pfadangaben gearbeitet wird aber auch der MS SQL-Server (von dem kenne ich es) kann auch auf andere DB's zugreifen. AFAIK auch über einen passenden ADO/OLE DB-Provider z.B. auch auf einen Oracle-Server oder aufs Dateisystem. Ob das Firebird auch kann (zwischen 2 Firebird-DB's sollte auch möglich sein, jedenfalls wenn diese im gleichen DBMS laufen) bin ich überfragt (kenn Firebird nur vom Namen), aber probier doch einfach mal noch zusätzlich den Datenbank-Namen anzugeben.

Also <DatenbankName>.<Tabellen/AliasName>.<FeldName> um entsprechend den Zugriff zu erhalten.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: 2 Datenbanken über Join verknüpfen. Denkfehler?

  Alt 23. Okt 2006, 16:02
Zitat von HartiMcFly:
ich habe 2 Datenbanken. Ich muß diese im Delphi miteinander verbinden.
Der Fachbegriff dazu lautet Bei Google suchenheterogeneous join.
Wann immer möglich, sollte man diese Art von Joins vermeiden, da meist ein erheblicher Leistungseinbruch entsteht oder der Join gar nicht möglich ist.
Andreas
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: 2 Datenbanken über Join verknüpfen. Denkfehler?

  Alt 23. Okt 2006, 16:23
Was ist in den 2 Datenbanken denn genau drin ? Ich habe das dumpfe Gefühl, daß es das ist, was eigentlich in 2 Tables einer Datenbank gehört. 8) Desweiteren ist es mit Firebird 1.5 kein großes Problem ein Script der einen Datenbank zu erstellen, den Dateinamen abzuändern (auf zweite DB) und es laufen zu lassen. Gehe mal in IBExpert hin und sage "Extract Metadata", dann Data tables und dann die zu joinende Datatable auswählen. Wenns gelingt wirst Du sofort sehen, was ich meine. 2 Databases nutze ich auch, aber nur aus Datensicherungsgründen. Die DBs sind völlig unabhängig, wobei die eine allerdings ziemlich groß ist, zugleich aber relativ unwichtig. Die kleinere muß aber mindestens täglich gesichert werden.
Gruß
Hansa
  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 22:47 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