Join über 2 Tabellen aus 2 verschiedenen Access Datenbanken

24/10/2007 - 23:51 von Klaus | Report spam
Liebe Newsgroup-Leser,

ich habe noch eine generelle Frage:

Wenn man zur Laufzeit mit OleDbConnectionStringBuilder Objekten arbeitet,
kann man sich pro Objekt nur mit genau einer physischen Access Datenbank
(*.mdb) verbinden.

Das Problem ist, dass OleDbCommand/OleDbDataReader dann aber nur auf die
Tabellen in der zugrundegelegte Datenbank mit SQL Befehlen zugreifen können.

Gibt es eine Möglichkeit, mit der dargestellten Vorgehensweise auch eine
Verbindung zu 2 oder mehr Datenbanken herzustellen, um Joins zwischen
Tabellen der verschiedenen Datenbanken im SQL definieren zu können?

Ich habe mal gehört, dass Jet auch selects unterstützen würde, die z.B. in
etwa so aufgebaut sind:

select a from t in c:\xyz.mdb

Das funktioniert aber nicht und habe ich auch irgends dokumentiert gefunden.
AUßerdem handelt es sich um mit system.mdw gesicherte Datenbanken.

Im Moment sind mir die im Studio definierbaren Datenquellen etwas suspekt,
weil ich bereits seltsame Effekte hatte (nicht der Effekt, dass die DB beim
Debuggen immer wieder neu kopiert wird, sondern durch Löschen nicht
benötigter Objekte). Außerdem muss ich zur Laufzeit in der Lage sein, die
Quelle der Datenbanken wechseln zu können.

Vielen Dank für Eure Hilfe.

Klaus
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
25/10/2007 - 00:56 | Warnen spam
Hallo Klaus ohne Nachname,

"Klaus" schrieb

Wenn man zur Laufzeit mit OleDbConnectionStringBuilder Objekten arbeitet,
kann man sich pro Objekt nur mit genau einer physischen Access Datenbank
(*.mdb) verbinden.

Das Problem ist, dass OleDbCommand/OleDbDataReader dann aber nur auf die
Tabellen in der zugrundegelegte Datenbank mit SQL Befehlen zugreifen können.



Das kommt drauf an, wie die DB geöffnet wurde. Generell geht bei Jet bspw.
sowas hier:

SELECT t1.feld1,
t2.feld2
FROM C:\dbpfad\db1.mdb.t1,
C:\dbpfad\db2.mdb.t2
WHERE t1.id = t2.id

siehe bspw.: http://www.aspfaq.de/index.asp?FID•&ELE‚69 (ist zwar
Classic ASP, ConnectionString und SQL String sind aber identisch)

Gibt es eine Möglichkeit, mit der dargestellten Vorgehensweise auch eine
Verbindung zu 2 oder mehr Datenbanken herzustellen, um Joins zwischen
Tabellen der verschiedenen Datenbanken im SQL definieren zu können?



s.o.

Ich habe mal gehört, dass Jet auch selects unterstà¼tzen wà¼rde, die z.B. in
etwa so aufgebaut sind:

select a from t in c:\xyz.mdb

Das funktioniert aber nicht



Und das heißt was?

AUàŸerdem handelt es sich um mit system.mdw gesicherte Datenbanken.



Das könnte ein Problem werden.

Im Moment sind mir die im Studio definierbaren Datenquellen etwas suspekt,



:)

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen