[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Oct 2003
    Beiträge
    117

    Commit ohne Datensatzfreigabe

    Folgende Konstellation:

    Programm A läuft in benannter Aktivierungsgruppe und ruft die Prozedur P eines Serviceprogramms auf, das in Aktivierungsgruppe *CALLER läuft.

    Die Prozedur macht ein Update auf einen Satz der Tabelle T und sperrt diesen richtigerweise. Dies wird auch bei den Teildateisperren des Jobs angezeigt:

    DATEN *SHRUPD HELD

    Programm A setzt direkt nach dem Prozeduraufrud einen sql commit ab. Nach meinem Verständnis müsste dieser den Datensatz wieder freigeben, tut er aber nicht.

    sqlcod nach update und commit ist beidesmal 0.

    Hat jemand eine Erklärung?

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... Beobachtung falsch, oder Bug
    zur Beobachtung: die Teildateisperre ist nicht das Kriterium für den record lock!!!

    D*B

    Zitat Zitat von Allrounder Beitrag anzeigen
    Folgende Konstellation:

    Programm A läuft in benannter Aktivierungsgruppe und ruft die Prozedur P eines Serviceprogramms auf, das in Aktivierungsgruppe *CALLER läuft.

    Die Prozedur macht ein Update auf einen Satz der Tabelle T und sperrt diesen richtigerweise. Dies wird auch bei den Teildateisperren des Jobs angezeigt:

    DATEN *SHRUPD HELD

    Programm A setzt direkt nach dem Prozeduraufrud einen sql commit ab. Nach meinem Verständnis müsste dieser den Datensatz wieder freigeben, tut er aber nicht.

    sqlcod nach update und commit ist beidesmal 0.

    Hat jemand eine Erklärung?
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Mit F10 auf Satzsperren umschalten, dann siehst du die Wahrheit.
    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

  4. #4
    Registriert seit
    Oct 2003
    Beiträge
    117
    Danke Euch!

    Die Aufregung war also umsonst. Der COMMIT funktioniert erfreulicherweise wie er soll.

    Ich war in der falschen Ebene unterwegs.
    Die Satzsperren-Anzeige hatte mir gefehlt.

    VG Allrounder

  5. #5
    Registriert seit
    Apr 2005
    Beiträge
    385
    Nur als Hinweis, der UPDATE gibt den Satz nach dem UPDATE eigentlich wieder frei und sperrt ihn nicht.

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... nur damit das nicht am Ende noch jemand glaubt:
    bei Einsatz von Commitment Controll werden alle Satzsperren bis zum Ende der Transaktion, die mit Commit (Änderungen festschreiben) oder Rollback (Änderungen zurückfahren) beendet wird, gehalten.

    D*B

    Zitat Zitat von ExAzubi Beitrag anzeigen
    Nur als Hinweis, der UPDATE gibt den Satz nach dem UPDATE eigentlich wieder frei und sperrt ihn nicht.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Oct 2003
    Beiträge
    117
    Zitat Zitat von ExAzubi Beitrag anzeigen
    Nur als Hinweis, der UPDATE gibt den Satz nach dem UPDATE eigentlich wieder frei und sperrt ihn nicht.
    Wie Dieter bereits richtiggestellt hat, ist hier der Satz nach dem Update (SQL) noch gelockt, was auch so gewollt ist. Erst der Commit hebt die Sperre auf.

Similar Threads

  1. CRTSQLRPGI commit *none
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 19-09-05, 22:39
  2. Für commit beim Journal images *both erforderlich?
    By miro in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 15-09-05, 12:57
  3. commit, Journal, etc. ????
    By muadeep in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 27-07-05, 17:40
  4. Commit Control Steuerung
    By Jenne in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 09-09-04, 10:33
  5. COMMIT und ROLLBACK in RPG+SQL
    By Willi1 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 02-05-02, 22:54

Berechtigungen

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