Zitat Zitat von itec01 Beitrag anzeigen
Noch eine Frage an die Profis bezüglich JVAGATE und Commit für beide Welten.
Anforderung:
Tabellen stehen in MySQL und auf der AS/400.
1. Step: mysql tabellen lesen und Sätze sperren
2. gelesene Informationen verarbeiten und mit zusätzlichen Information aus AS/400 Tabellen in eine AS/400 Tabelle schreiben (RPG WRITE). Diese liegt auch unter Commit
3. Wenn die AS/400 Tabelle sauber erzeugt wird, erfolgt der SQL update auf die MySQL Tabellen
4. Wenn OK, SQL commit auf MySQL und RPG Commit auf AS/400 Tabelle

Dies haben wir in einem RPG Programm versucht, leider bricht das Programm beim OPEN der AS/400 Tabelle ab. Ich habe hier etwas gelesen, dass es wohl besser wäre 2 Programme in unterschiedlichen Aktivierungs Gruppen zu machen, bin mir aber nicht sicher.
Wir macht Ihr das?
Danke.
Gruß Klaus
... vom Mix SQL mit RLA ist unter commit generell abzuraten! Commitscope ist unter SQL die ACTGRP, es muss also die ganze Transaktion in derselben ACTGRP stattfinden.
Am einfachsten ist satzweise Verarbeitung:
- lesen MySQL
- Wechsel des Connects zur lokalen Datenbank mit set connection
- Verarbeitung auf der AS/400
- set connection zur remote DB
- schreiben auf MySQL
- wenn alles geklappt hat commit, sonst rollback

Das ganze dann in einer Schleife bis man fertig ist.
Am Anfang remote connect, am Schluss release und commit.

D*B

PS: bricht ab ist ein wenig zu unspezifisch, um dazu was zu sagen.