[NEWSboard IBMi Forum]
Seite 2 von 4 Erste 1 2 3 ... Letzte
  1. #13
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    ... zumindest für den local change (letzte Meldung), müsste das im Journal zu finden sein.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  2. #14
    Registriert seit
    Sep 2004
    Beiträge
    327
    Hallo,
    es ist so, dass JVAGATE offene API commits stehen lässt und zwar aus dem Program CCEXIT kommend. Beim Beenden des Jobs werden die dann zurückgefahren.
    Schon bei dem Connect zur fremden DB tauchen die Commits auf und verschwinden bis zum Ende des Programmes nicht.
    Anbei die hardcopies:

    Click image for larger version. 

Name:	Hardcopys JVAGATE open commits-1.jpg 
Views:	10 
Size:	221,7 KB 
ID:	652Click image for larger version. 

Name:	Hardcopys JVAGATE open commits-2.jpg 
Views:	8 
Size:	148,0 KB 
ID:	653Click image for larger version. 

Name:	Hardcopys JVAGATE open commits-3.jpg 
Views:	9 
Size:	122,9 KB 
ID:	654

  3. #15
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    ... JVAGATE registriert eine externe Commit Ressource per API QTNADDCR, um commit Operationen auf die externen Connects auszuführen, wenn lokal eine commit Operation angefordert wird. Der Commit Handler CCEXIT wird dann von der Datenbank nach jeder Commit Operation automatisch aufgerufen und propagiert die commit Operation auf die remote Datenbanken. Wenn dabei lokale Commit Definitionen offen bleiben, ist das eine Defektproblem von OS/400 bzw. neudeutsch I.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #16
    Registriert seit
    Sep 2004
    Beiträge
    327
    Zitat Zitat von BenderD Beitrag anzeigen
    ... wenn lokal eine commit Operation angefordert wird. Der Commit Handler CCEXIT wird dann von der Datenbank nach jeder Commit Operation automatisch aufgerufen und propagiert die commit Operation auf die remote Datenbanken. Wenn dabei lokale Commit Definitionen offen bleiben, ist das eine Defektproblem von OS/400 bzw. neudeutsch I.

    D*B
    Wie ist das mit den lokalen db's zu verstehen? In meinem Beispiel gibt es keine lokalen DB's und wie in meiner Beschreibung zu erkennen, ist auch nur das JVAGATE API offen, sonst nichts. Daher verhält sich JVAGATE meiner Meinung nicht sauber und lässt Commits offen.

  5. #17
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    ... so wie beschrieben! Du startest ein Programm unter commit, das erstellt eine lokale commit Definition, ArdGate hängt einen exit handler dran und propagiert genau die commit Operationen, die Dein Programm ausführt. Nicht mehr und nicht weniger. Das Problem liegt entweder in Deinem Programm oder der Datenbank fehlt ein PTF. ArdGate startet weder transactions, noch schreibt ArdGate irgendwas, was Dein Programm nicht anfordert.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #18
    Registriert seit
    Sep 2004
    Beiträge
    327
    Ok, Dieter, wir lassen das erst mal so. Die SQL's funktionieren ja.
    Danke Dir.

  7. #19
    Registriert seit
    Sep 2004
    Beiträge
    327
    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

  8. #20
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    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.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  9. #21
    Registriert seit
    Sep 2004
    Beiträge
    327
    Danke, dann sollte vermutlich auch der Commit/Rollback der AS/400 Tabelle mit SQL verarbeitet werden und nicht mit nativem RPG Chain, update, Commit oder wäre das egal? Wir würden gerne nicht mit SQL auf die AS/400 die commits machen.
    Fehlermeldung beim open der AS/400 Tabelle:
    CPF4326 Commitment Definition *N not valid for open of ASAP999P.

  10. #22
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von itec01 Beitrag anzeigen
    Danke, dann sollte vermutlich auch der Commit/Rollback der AS/400 Tabelle mit SQL verarbeitet werden und nicht mit nativem RPG Chain, update, Commit oder wäre das egal? Wir würden gerne nicht mit SQL auf die AS/400 die commits machen.
    Fehlermeldung beim open der AS/400 Tabelle:
    CPF4326 Commitment Definition *N not valid for open of ASAP999P.
    ... der commit sollte per sql erfolgen! Ob gerne oder nicht gerne, ich kann nur empfehlen das alles mit SQL zu machen. Mit dem Mix holt man sich nur Peobleme, die man nicht haben muss.

    CPF4326 liegt daran, dass commit nicht gestartet ist. SQL erledigt das automatisch.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  11. #23
    Registriert seit
    Sep 2004
    Beiträge
    327
    OK, danke, dann auch den Insert und update auf die AS/400 per SQL?
    wenn Commit/Rollback, dann 1 je Datenbank oder reicht einmal und alles ist gut?

  12. #24
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von itec01 Beitrag anzeigen
    OK, danke, dann auch den Insert und update auf die AS/400 per SQL?
    wenn Commit/Rollback, dann 1 je Datenbank oder reicht einmal und alles ist gut?
    ... alles per sql! Einmal commit/rollback am Ende der Transaktion und gut ist!

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. JVAGATE mit Sonderzeichen in CHAR-Feldern
    By Peet in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 16-04-20, 14:02
  2. JVAGATE und SQLRPG auf lokale DB2 for i
    By Peet in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 25-06-19, 11:59
  3. jvagate Bander tool Verbindung -> Oracle Hilfee
    By labm in forum NEWSboard Programmierung
    Antworten: 20
    Letzter Beitrag: 05-06-18, 09:09
  4. Problem mit JVAGATE von D.Bender
    By svit in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 18-09-14, 12:14
  5. aktuelle Liste aller offenen Commits je DB
    By itec01 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 08-07-14, 11:17

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •