PDA

View Full Version : AS/400 und MS Access synchronisieren



KarlP
10-12-08, 20:16
Hallo,

gibt es eine Möglichkeit eine AS/400 mit einer MS Access Datenbank zu synchronisieren in beiden Richtungen? Sprich wenn in der AS400 was geändert wird das es die Datenbank mit bekommt und wenn in der MS Access was geändert wird das es die AS400 mit bekommt.
Das ganze sollte dann natürlich zu allem Überfluss in Echtzeit funktionieren. Ist sowas
realisierbar?

mfg Karl

KarlP
10-12-08, 20:55
Halo,

habe die Antwort im alten Thread leider erst jetzt gesehen. Also das synchronisieren geht soweit mal nicht. ISt das mit der AS/400 generell mit einem Datenbanksystem möglich wie Oracle oder ähnlichen?

Gruß Karl

JonnyRico
10-12-08, 21:11
Hi,

also prinzipiell kannst du die Tabellen der AS/400 über eine ODBC-Verbindung in die Access-Datenbank linken. Allerdings bekommst du damit natürlich keine rasende Geschwindigkeit hin. Ich meine da auch was mit Problemen in Verbindung mit der Commitment-Kontrolle im Hinterkopf zu haben, aber das mag sich in neueren Access-Versionen auch geändert haben.

Gruß

Sascha

KarlP
10-12-08, 21:56
Darf ich mir das so als eine Art Pointer vorstellen? Ist es dann auch möglich von der access aus die Inhalte zu ändern welche gelinkt sind?

Fuerchau
11-12-08, 07:48
In Access kannst du per ODBC Tabellen verknüpfen.
Damit sind diese Tabellen wie die lokalen Tabellen zu verarbeiten.
Man kann Abfragen gestalten, Änderungen vornehmen (soweit berechtigt) oder auch neue Daten einfügen.
Es gibt ein paar Einschränkungen bzgl. der Anzahl Felder und Feldtypen.
MS-Access unterstützt auch nur eine beschränkte Anzahl Indizees (max. 32) wenn man mit einer PF verlinkt. Das kann man aber umgehen, wenn man sich eine LF aussucht.
Die Geschwindigleit hängt im Wesentlichen vom Netz und der Leistung der AS/400 ab.

Mit Commit hat man überhaupt keine Probleme, wenn man dies entsprechend in der ODBC-Verbindung angibt.

Was eine Synchronisation angeht, so muss man nur die neuen/geänderten Daten auf der AS/400 erkennen um sie dann lokal zu kopieren.
Dazu besteht aber ggf. überhaupt kein Bedarf mehr, da man ja online auf die aktuellen Daten zugreifen kann.

Vorgehen:
Über Tabellen->Verknüpfen->ODBC kannst du dir die entsprechenden Tabellen in die Access-DB einbinden.
Ggf. kannst du eine neue ODBC-Verbindung erstellen oder eine bestehende verwenden.
Access übernimmt automatisch die ODBC-Eigenschaften je Tabelle in die Datenbank, so dass später der ODBC-Eintrag nicht mehr erforderlich ist, wenn man die DB z.B. auf einen anderen PC kopiert.

Ein kleiner Nachteil (kann man ggf. konzeptionell berücksichtigen) ist die Erstellung von verknüpften Abfragen (Tabelle1 join Tabelle2) wenn diese aus unterschiedlichen Quellen stammen.
Access unterstützt dies zwar, hat aber gewaltige Performanceprobleme, da die Verknüpfung (Join) erst nachdem kompletten Einlesen der fernen Tabelle durchgeführt werden kann.
Befinden sich beide Tabellen in der selben DB, wird das automatisch von SQL aufgelöst.

Auf diese Weise kann ich MS-Access-Tabellen gleichzeitig mit AS/400, Oracle, MySQL oder sonstigen DB's verarbeiten.