-
Daten via ODBC in Access ohne DSN
Hallo zusammen,
ich versuche mittels VBA, Daten aus einer AS400 Tabelle zu selektieren und das Ergebnis in eine Access Tabelle zu kopieren. Dabei möchte ich unbedingt auf DSNs verzichten, weil ich keine DSN Installation durchführen möchte und obendrein der User überhaupt keinen Zugriff auf die AS400 Tabelle hat, das Passwort im VBA Code ist dem User unbekannt (und durch Access Mittel geschützt).
Der vielversprechendste Ansatz von sehr, sehr vielen war dieser:
DoCmd.RunSQL "SELECT * INTO AccessTable FROM [ODBC;Driver=iSeries Access ODBC Driver;SYSTEM=as400ip;DBQ=as400lib;UID=user;PWD=pw d;CMT=0;SEARCHPATTERN=0;PREFETCH=1].as400table"
Wie bei allen meinen Versuchen bekam ich den Fehler (-7778) zurück.
Und jetzt weiss ich wirklich nicht mehr, was ich noch tun soll.
ratlos
frank
-
In VBA musst du dir die MSADO-Objekte als Verweise hinzufügen.
Dann kannst du mit Connection-, Command- und Recordset-Objecten die Daten lesen und in deine Tabellen schreiben.
Aber DSN's benötigst du nur zur Entwicklungszeit.
Wenn du eine Verknüpfungstabelle erstellst zieht sich Access automatisch die Verbindungsfolge in die Eigenschaften der Tabelle.
Du kannst dann ganz normale Anfügeabfragen erstellen und verwenden.
-
Hi,
erstmal danke für die schnelle Antwort!
Ich habe mich ein bisschen in der MS Syntax verheddert, ich meinte nicht standalone VBA sondern Code innerhalb eines Access Moduls.
Was ich hier völlig problemlos hinbekomme, ist ein Recordset ohne DSN mit den benötigten Daten zu füllen und dann in einer Schleife für jeden einzelnen Satz ein AddNew in die Access Tabelle zu machen. Aber das dauert eeeeeewig!
Wenn ich aber z.B. das hier nutze:
DoCmd.RunSQL "SELECT * INTO AccessTable FROM [ODBC;DSN=as400dsn].as400lib.as400table"
sind die Sätze innerhalb von Sekunden drinne. Aber wie gesagt, DSN will ich ja gerade nicht...
leider immer noch ratlos
frank
-
Schau dir die Syntax des Connection-Strings genauer an:
Driver={DriverName};System=MySys;DBQ=MyLib;CMT=0; User=MyUser;Password=MyPass;
Wenn du eine Tabelle verknüpfst, kannst du dir die Verbindungsfolge in den Tabelleneigneschafte ansehen.
-
Himmel, ich habs:
Es fehlte der Parameter MGDSN=0!
Das funktioniert jetzt einwandfrei:
DoCmd.RunSQL "SELECT * INTO AccessTable FROM [ODBC;Driver={iSeries Access ODBC Driver}; SYSTEM=as400ip; DBQ=as400lib; UID=user; PWD=pwd; MGDSN=0].as400table"
Das hat Nerven gekostet...
merci vielmals
frank
Similar Threads
-
By Armin in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 07-09-06, 11:18
-
By mdhl in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 18-05-06, 13:27
-
By mdhl in forum NEWSboard Server Software
Antworten: 5
Letzter Beitrag: 11-07-05, 09:18
-
By Rico in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 21-03-05, 09:43
-
By SL in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 22-07-02, 11:54
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks