[NEWSboard IBMi Forum]

Thema: SQL Update

Hybrid View

  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von co_steffl Beitrag anzeigen
    Über StrSql hätte noch weiterblättern müssen und habe Enter gedrückt - so einfach
    Journal ist eingeschaltet habe aber damit noch nie zurückgedreht
    RMVJRNCHG ist Dein Freund, ist aber Waffenschein pflichtig und wenn Änderungen hinterherkamen, geht das sowieso nicht mehr wirklich. Sinnvoll ist in jedem Fall vorher mit DSPJRN mit Selektion auf Job und Zeit, um zu sehen wohin überall geschrieben wurde. Erst denken, dann handeln: der zweite Fehler ist immer der schlimmere!

    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. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Vielleicht noch ein Tipp für die Zukunft:

    Ändere die Option Commit im STRSQL von *NONE auf *CHG (F13 --> Auswahl 1 --> Commit)

    Sofern Du jetzt versuchst eine Tabelle/phys.Datei, die nicht in einem Journal aufgezeichnet ist, wird der Update/Insert/Delete schief gehen, es sei denn Du würdest WITH NC (= With NO COMMIT) am Ende des SQL-Befehls angeben.
    Fehlermeldung: YOURFILE in YOURLIB für Operation ungültig.
    Damit weißt Du dann: Hoppla Vorsicht! Am besten die Daten zuerst sichern.

    Wenn Deine Dateien aufgezeichnet sind und Dir passiert wieder das gleiche Malheur, kannst Du Dich gemütlich zurücklehnen und warten bis der Update fertig ist.
    Im Anschlusse gibst Du ROLLBACK ein, Datenfreigabe und die Daten werden auf den Stand vor dem Update zurückgesetzt.

    Wenn Du geprüft hast, ob alle Daten korrekt upgedated sind, musst DU einen COMMIT ausführen.
    Sofern Du den COMMIT vergisst bleiben die geänderten Sätze gelockt bis entweder in Deinem Job ein Commit oder Rollback ausgeführt wird, oder der Job beendet wird. Wird der Job übrigens beendet, ohne dass Commit ausgeführt wurde, egal ob normal oder abnormal, werden die geänderten Daten ebenfalls zurückgesetzt.

    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

  3. #3
    Registriert seit
    Apr 2009
    Beiträge
    69
    @Bender
    Änderungen hinterher kamen nicht. Mit DSPJRN habe ich die Records schon gefunden. Jedoch bin ich mir nicht sicher wie ich den RMVJRNCHG anwenden muss. Ich sehe die Sätze UB + UP

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    am Besten suchst Du Dir im Journal die erste und letzte Journal ID und dann kannst Du mit RMVJRNCHG die Dtaeien angeben und von JournalId bis Journal Id, wobei von > als bis ist, also rückwärts.

    Ansonsten noch der Tip, dass man bei Bulk Operationen (also sehr vielen zu ändernden Sätzen mit interaktivem SQL und Commit sehr sehr vorsichtig sein muss: man sammelt da unzählige Sperren ein, kann die gesamte Kiste dicht knebeln und die laufende Operation lässt sich nicht abbrechen, aber konkurriernde Jobs brechen ab, wegen der Sperren.

    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/

  5. #5
    Registriert seit
    Apr 2009
    Beiträge
    69
    Hallo
    OK. Dank an alle
    Ich kann zwar genau raussuchen welche Records betroffen waren. Aber ich kann nicht sagen ob die Records bereits anderweitig geändert wurden. Da ich annehme das der Rollback (RMVJRNCHG) auf Record Ebene basiert kann ich auch nicht sagen ob ich mir damit noch mehr kaputt mache. Also macht das Jrn so auch keinen Sinn. Wenn es auf Feldebene arbeiten würde wäre das Ok.

    Also muss ich einen Weg über RPG suchen. Danke nochmal

    Gruß
    co_steffl

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ...
    - dspjrn output(*outfile) mit Eingrenzung auf die Datei sagt einem auch, ob Änderungen danach waren.
    - auf meiner OpenSource Seite ist ein Programm, das einem die Journalsätze aufbereitet in eine Datei stellt. damit kann man mit einem SQL Script sogar Deltas rausnehmen.

    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/

  7. #7
    Registriert seit
    Apr 2009
    Beiträge
    69
    OK Danke für den Tipp
    werde mir das mal anschauen.

    Gruß
    co_steffl

  8. #8
    Registriert seit
    Apr 2009
    Beiträge
    69
    @BenderD

    OK. Habs ausprobiert. Läuft Super. Kann ich bestimmt mal öfter gebrauchen.
    Danke f. d. Arbeit

    Gruß
    co_steffl

Similar Threads

  1. embedded sql update
    By tarkusch in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 02-06-14, 09:45
  2. SQL update
    By Joe in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 15-04-03, 15:06
  3. SQL update
    By Joe in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 01-04-03, 19:50
  4. Update mit SQL
    By schreibr in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-09-01, 08:22
  5. Update auf V4R5
    By andigoering in forum NEWSboard Server & Hardware Markt
    Antworten: 3
    Letzter Beitrag: 23-08-01, 10:38

Berechtigungen

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