[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jan 2007
    Beiträge
    1.002
    Zitat Zitat von AG1965_2 Beitrag anzeigen
    Außerdem sollte man DB-Sätze nur dann sperren, wenn die Updatewahrscheinlichkeit hoch ist.
    Und selbst wenn es ginge; die Faulheit beim Codieren würde sich da sowieso zur Laufzeit rächen. Man muss nur genug User drauf los lassen.
    Genau aus diesem Grund verwende ich zum lesen eine logische Inputdatei und eine Updatedatei.
    Und schon sind einige Probleme gelöst.
    kf

  2. #2
    Registriert seit
    Oct 2013
    Beiträge
    175
    Halte ich auch für übertrieben, nur deswegen 2 Datenpfade zu öffnen, wo es doch READ(N) usw. gibt, womit ich auch eine Datei, die für Update geöffnet wurde, ohne Sperre lesen kann.

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Die Satzwartezeit (Default 1 Minute) ist dann auch nicht zu verachten.
    Warum soll man den User erst 1 Minute warten lassen um dann unvollständige Daten anzuzeigen?
    Bei SQL und Transaktionen muss ja sowieso anders denken.
    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
    Aug 2001
    Beiträge
    2.928
    Halte ich auch für übertrieben, nur deswegen 2 Datenpfade zu öffnen, wo es doch READ(N) usw. gibt, womit ich auch eine Datei, die für Update geöffnet wurde, ohne Sperre lesen kann.
    Das klappt aber nur wenn Du ohne Commitment Control arbeitest.
    Unter Commitment Control gibt weder die Erweiterung (N) noch der OpCode UNLOCK den Datensatz frei!

    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

  5. #5
    Registriert seit
    Oct 2013
    Beiträge
    175
    Danke Birgitta, wieder was (von dir) gelernt!

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Dies gehört beim Einsatz von Commit/Control allerdings zum Grundwissen.
    Vorsicht ist beim Commit-Level *ALL anzuwenden.
    Jeder READ, also auch ein READ(N), bleibt bis zum Commit/Rollback gesperrt.
    Ich habe noch keine Anwendung gefunden in der dieser Sperrstatus sinnvoll ist.
    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

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Dies gehört beim Einsatz von Commit/Control allerdings zum Grundwissen.
    Vorsicht ist beim Commit-Level *ALL anzuwenden.
    Jeder READ, also auch ein READ(N), bleibt bis zum Commit/Rollback gesperrt.
    Ich habe noch keine Anwendung gefunden in der dieser Sperrstatus sinnvoll ist.
    Die dahinter stehende Anforderung ist völlig alltäglich und in vielen Anwednungen wird da ohne Commit aufwändig drumherumprogrammiert:
    - bei der Bearbeitung eines Auftrages müssen der Kopf und alle Positionen gesperrt werden. Lösung mit Commit; Sperrstufe Repeatable read (AS400 nennt das *ALL). Work around: Sperrkenzeichen im Kopf, das aber einfach ignoriert werden könnte.
    - Bei einer Lagerumbuchung müssen angezeigte Lagerbestände gesperrt sein. Lösung mit Commit: Repeatable read. Ohne Commit: hoffentlich klappt das jetzt.
    BTW: die Ausgangsfrage wäre mit commit Level Read committed elementar lösbar gewesen, da werden gesperrte Sätze überlesen (bei read uncommited kriegt man alle gezeigt.

    Ich kann nur immer wieder empfehlen sich mit Commit Steuerung vertraut zu machen, statt falsche Vorurteile abzulassen. Für Software Häuser ohnehin ein Muss (ich enpfehle einen Blick in das europäische Produkthaftungsrecht).

    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. CTE in RPGLE verwndbar?
    By ExAzubi in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 02-07-14, 14:13
  2. RPGLE Parameter *NOPASS
    By XMan in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 20-12-13, 08:50
  3. DEBUG RPGLE
    By Liebhoff in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 01-03-02, 21:24
  4. F-Bestimmung RPGlE
    By HoScHiE in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 12-10-01, 10:46
  5. Programmgenerator RPG/RPGLE
    By Frank in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 02-09-01, 11:35

Tags for this Thread

Berechtigungen

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