PDA

View Full Version : MS Access SQL Abfrage über ODBC



Helwo
13-03-02, 05:30
Hallo,
ich möchte aus zwei AS400 Dateien Daten in eine Access Tabelle mit SQL importieren. Die Select-Abfrage, die ich bisher ausprobiert habe, hat enorme Performance Probleme verursacht.
Ist ein Insert oder Update überhaupt möglich?

Danke für Eure Hilfe.

Helwo

Fuerchau
16-03-02, 11:34
Dieses Problem hatte ich auch schon einmal. Der Grund liegt darin, dass die Beziehungen zwischen den beiden Dateien nicht auf der AS/400 sondern durch MS/Access aufgelöst werden. D.h., dass zuerst die Sätze mittels Einzel-Select jeder Datei von der AS/400 gelesen und dann aufgrund der WHERE-Klausel oder der Join-Beziehung wieder verworfen werden. (Hohe Übertragungsraten ohne dass Daten tatsächlich verwendet werden.)

Lösung:
Erstellen Sie auf der AS/400 mittels "CREATE VIEW ..." die benötigte Join-Datei (Achtung OHNE where-Klausel) und selektieren Sie die gewünschten Daten anschließend mittels normalem Select von MS/Access aus auf die neue Sicht auf der AS/400 .

[Dieser Beitrag wurde von Fuerchau am 16. März 2002 editiert.]

Helwo
18-03-02, 14:35
Danke für den Tip. Ich habe die Daten aber immer noch nicht physisch in meiner Access-Tabelle.

Sven Schneider
18-03-02, 19:27
Hallo Helwo,
sollen die AS/400 Dateien (einmalig) importiert werden oder als "eingebettete Tabellen" in Access fungieren.

Beschreib dein Problem bitte etwas genauer.
(Beim Import kannst du meines wissens gar keine SQL-Abfrage angeben, sondern nur die gesamte Tabelle importieren)

Das Problem welches Fuerchau angesprochen hat betrifft natürlich nur "eingebettete Tabellen".
Aber du sprichst ja vom importieren ...

Sven

[Dieser Beitrag wurde von Sven Schneider am 18. März 2002 editiert.]

Fuerchau
19-03-02, 09:01
Die von mir oben beschrieben Sicht sollte als verknüpfte Tabelle in die MS/Access-DB eingetragen werden.
Anschließend kann ich aus dieser Tabelle (die die Join-Beziehung auf der AS/400 ja enthält) eine Erstellungs- oder Anfügeabfrage kreieren.
Damit sind die Daten dann physisch in der MS/Access-DB.

Wenn die AS/400 aber permanent zur Verfügung steht, sollte man dann entsprechende Abfragen erstellen, die die Daten immer Online aus der AS/400 zieht. Der Vorteil ist die Aktualität der Daten.

Anmerkung: Wenn sehr häufig auf diese Weise Daten in die MS/Access-DB kopiert werden und dabei vorher ggf. die Altdaten gelöscht werden, muss die DB regelmäßig wieder komprimiert werden da diese sonst uferlos anwächst.