Discussion:
ODBC-Verbindung zwischen zwei Access Datenbanken
(zu alt für eine Antwort)
Thorsten Wack
2004-09-16 11:21:46 UTC
Permalink
Hallo zusammen,

ich habe bei mir folgendes ausprobiert:

1.) Konfiguration der ODBC-Anbindung Test1.mdb als
Benutzer-DSN

2.) SQL-Statement zum Zugriff auf die Datenbank via ODBC

INSERT INTO Leer
SELECT LNum AS LNum, Pfad AS Pfad, Dateiname AS Dateiname
FROM [AR-Dateien] IN 'ODBC;DSN=Test1;';


Beim Anlegen der Abfrage meckert Access nicht. Beim
Ausführen bekomme ich die Meldung:
"Datei H:\daten\ODBC;DSN=Test1 nicht gefunden.

(H:\daten war mal mein Standarddatenbankordner ? !)

Kann mir da jemand weiterhelfen?
Jürgen Volke
2004-09-16 11:57:37 UTC
Permalink
Hallo Thorsten
Post by Thorsten Wack
1.) Konfiguration der ODBC-Anbindung Test1.mdb als
Benutzer-DSN
2.) SQL-Statement zum Zugriff auf die Datenbank via ODBC
INSERT INTO Leer
SELECT LNum AS LNum, Pfad AS Pfad, Dateiname AS Dateiname
FROM [AR-Dateien] IN 'ODBC;DSN=Test1;';
Beim Anlegen der Abfrage meckert Access nicht. Beim
"Datei H:\daten\ODBC;DSN=Test1 nicht gefunden.
(H:\daten war mal mein Standarddatenbankordner ? !)
Kann mir da jemand weiterhelfen?
für was soll der DSN-Eintrag hier gut sein?

laut OH gehört hinter IN der MDB-Name:

IN 'H:\Daten\DeineMDB'

HTH Jürgen
Dipl. Ing. Olaf Podendorf
2004-09-16 20:36:54 UTC
Permalink
Wozu überhaupt ODBC? Mir fällt da kein sachlicher Grund ein, *grübel? Wie
wärs damit, die Tabellen in die andere DB einfach einzubinden?
Post by Jürgen Volke
Hallo Thorsten
Post by Thorsten Wack
1.) Konfiguration der ODBC-Anbindung Test1.mdb als
Benutzer-DSN
2.) SQL-Statement zum Zugriff auf die Datenbank via ODBC
INSERT INTO Leer
SELECT LNum AS LNum, Pfad AS Pfad, Dateiname AS Dateiname
FROM [AR-Dateien] IN 'ODBC;DSN=Test1;';
Beim Anlegen der Abfrage meckert Access nicht. Beim
"Datei H:\daten\ODBC;DSN=Test1 nicht gefunden.
(H:\daten war mal mein Standarddatenbankordner ? !)
Kann mir da jemand weiterhelfen?
für was soll der DSN-Eintrag hier gut sein?
IN 'H:\Daten\DeineMDB'
HTH Jürgen
Thorsten Wack
2004-09-17 05:10:27 UTC
Permalink
Hallo Jürgen ich bin grade am Basteln eines Prototypen.
Später soll mal eine Oracle DB abgefragt werden. Aufgrund
der Grösse und der Zugriffsberechtigungen möchte ich
lieber eine PassThrough-Abfrage verwenden.

Leider habe ich keine Oracle DB zum Testen, da es sich um
ein Produktivsystem handelt.
- Natürlich würde diese "Spielerei" sonst keinen tieferen
Sinn haben.

Gruss
Thorsten
Thomas Möller
2004-09-18 07:12:21 UTC
Permalink
Hallo Thorsten,
Post by Thorsten Wack
Hallo Jürgen ich bin grade am Basteln eines Prototypen.
Später soll mal eine Oracle DB abgefragt werden. Aufgrund
der Grösse und der Zugriffsberechtigungen möchte ich
lieber eine PassThrough-Abfrage verwenden.
Leider habe ich keine Oracle DB zum Testen, da es sich um
ein Produktivsystem handelt.
- Natürlich würde diese "Spielerei" sonst keinen tieferen
Sinn haben.
mit Access wirst Du da keine Chance haben. Access ist kein aktives DBMS.
Daher wird der Zugriff mit einer PT-Abfrage auf Access auch nicht
funktionieren.

CU
--
Thomas

Homepage: www.team-moeller.de

TM-CodeDokumentation: Update auf Version 1.87 (seit 21.08.04)
Funktioniert jetzt auch in Access-Projekten (*.adp)
Thorsten Wack
2004-09-17 05:07:04 UTC
Permalink
Hallo zusammen,

anbei fogendes Zitat ayus der OH:

<<
"Das folgende Beispiel verwendet dBASE IV-Tabellen im
Verzeichnis C:\DBDATEN als Datenquelle für die Abfrage.
SELECT Kunde.FIRMENNAME, Aufträge.AUFTRAGSNR,
Aufträge.AUFTRDATUM
FROM Kunde INNER JOIN Aufträge
ON Kunde.KUNDENNR = Aufträge.KUNDENNR
IN 'C:\Dbdata'[dBASE IV;];

Bei einer ODBC-Datenbank (ODBC = Open Database
Connectivity) entspricht die Einstellung der Eigenschaft
SourceConnectStr dem Namen der Quelldatenbank zusammen mit
weiteren vom Produkt benötigten Informationen, z.B.
Anmeldeinformationen (ID) und Kennwort. Bei einer
Datenbank des Microsoft SQL Server könnte die Einstellung
z.B. folgendermaßen aussehen:

ODBC;DSN=Locatech;UID=jace;PWD=Kennwort;DATABASE=Umsatz;

Die Eigenschaft SourceDatabase verfügt über keinen Wert
für eine ODBC-Datenbank." >>

Danach bin ich völlig verwirrt.
Wie muss denn jetzt der SourceConnectString aufgebaut sein.

Gruss
Thorsten
Thomas Möller
2004-09-18 07:16:26 UTC
Permalink
Hallo Thorsten,
Post by Thorsten Wack
"Das folgende Beispiel verwendet dBASE IV-Tabellen im
Verzeichnis C:\DBDATEN als Datenquelle für die Abfrage.
SELECT Kunde.FIRMENNAME, Aufträge.AUFTRAGSNR,
Aufträge.AUFTRDATUM
FROM Kunde INNER JOIN Aufträge
ON Kunde.KUNDENNR = Aufträge.KUNDENNR
IN 'C:\Dbdata'[dBASE IV;];
Bei einer ODBC-Datenbank (ODBC = Open Database
Connectivity) entspricht die Einstellung der Eigenschaft
SourceConnectStr dem Namen der Quelldatenbank zusammen mit
weiteren vom Produkt benötigten Informationen, z.B.
Anmeldeinformationen (ID) und Kennwort. Bei einer
Datenbank des Microsoft SQL Server könnte die Einstellung
ODBC;DSN=Locatech;UID=jace;PWD=Kennwort;DATABASE=Umsatz;
Die Eigenschaft SourceDatabase verfügt über keinen Wert
für eine ODBC-Datenbank." >>
Danach bin ich völlig verwirrt.
Wie muss denn jetzt der SourceConnectString aufgebaut sein.
die Information, welche Datenbank verwendet wird, steckt im DSN. Diesen
kannst Du jederzeit ändern.

Um die Verbindung zum Zielsystem variabel zu halten könntest Du auch mit
einer UDL-Datei arbeiten. (Einfach eine neue Textdatei erstellen, die
Dateiendung in "UDL" umbenennen und die Datei doppelklicken.)

CU
--
Thomas

Homepage: www.team-moeller.de

TM-CodeDokumentation: Update auf Version 1.87 (seit 21.08.04)
Funktioniert jetzt auch in Access-Projekten (*.adp)
Loading...