[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ja aber: Activation-Groups erstellen auch getrennte Transaktionen. Das aufgerufene Programm muss also seinen eigenen Commit/Rollback durchführen. Wenn es das nämlich vergisst, war alles für die Katz'.

    Allerdings musst du da etwas durcheinander bringen.
    Ein Cursor "with Hold" wird beim Rollback eben nicht zurückkgesetzt.

    https://www.google.com/search?client...rsor+with+hold
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Jun 2021
    Beiträge
    2
    Danke für die Infos.
    Der Cursor "with hold" wird bei Rollback geschlossen und das ist mein Problem, da er offen bleiben muß für die weiteren Verarbeitungen.
    Wenn das nur mit getrennten Aktivierungsgruppen geht, haben wir in unserer Anwendung was zu tun, da wir immer dftactgrp(*no) actgrp(*caller) in den CTL-OPT implemetiert haben.
    Oder gibts da noch was anderes?

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Setz beim SQL Commit und Rollback WORK HOLD dahinter:

    Code:
    Exec SQL Commit Work Hold;
    oder versuch statt des SQL Commit und Rollback den RPG Commit und Rolbk zu verwenden

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Nur mal ne blöde Frage:
    Bist du sicher, dass der Cursor in der Programmkette eindeutig ist?
    Wenn der selbe Cursorname wieder verwendet wird, scheitert der Open aber der Close nicht.
    Im Debugmodus solltes du da Hinweise finden können.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Ein Cursor-Name muss eindeutig innerhalb einer Quelle/Moduls sein! Außerhalb des Moduls kann der gleiche Cursor-Name wieder verwendet werden, unabhängig davon ob das Programm/Modul/Prozedur in der gleichen Programm-Kette aufgerufen wird.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... das mit der ACTGRP ist eh keine gute Idee. Man hat einen Commit Master, das ist der, der die Transaktion steuert und alle slaves sind *CALLER. Das HOLD beim Cursor wirkt nur beim Commit, beim Rollback muss zusätzlich nochmals hold angegeben werden. Das ist zwar kein ANSI, sondern DB2 Erweiterung, sollte aber funzen (sonst ist mit den PTFs was faul).

    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. SQL Prozedur mit Cursor als Rückgabe (Embedded SQL)
    By harkne in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 16-06-20, 10:45
  2. Commit und Rollback bzw. nicht Rollback
    By wti in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 14-05-17, 13:13
  3. Embedded SQL Cursor updaten
    By Tschabo in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 23-10-16, 19:12
  4. OVRPRTF FILE(QPDSPSFA) HOLD(*YES)
    By Robi in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 26-02-14, 08:33
  5. COMMIT und ROLLBACK in RPG+SQL
    By Willi1 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 02-05-02, 22:54

Tags for this Thread

Berechtigungen

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