[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hallo,

    Eine Satzsperre zu halten um sicher zu stellen, dass dieser von niemandem geändert werden kann ist generell keine gute Lösung.
    Dafür sollte man sich andere Ansätze überlegen
    *) Timestamp der letzten Änderung, wenn du wissen willst ob inzwischen ein User was geändert hat
    *) Kennzeichen in der Tabelle setzen, wenn der Kunde gerade in Bearbeitung ist
    *) etc. etc.

    Was der andere Dieter gemeint hat, war dass durch CC eine Kette an Prozessen (Update, Delete, Insert) sicherer durchgeführt werden kann.
    Jedoch wurde das hier eh schon öfters besprochen.

    lg Andreas

  2. #2
    Registriert seit
    Jan 2012
    Beiträge
    1.238
    Hallo Andreas,

    danke für die Info. Ist schon klar, dass Commitment Control Transaktionen sicherer macht. Mir ging es darum, dass ich es nicht sinnvoll finde, mehreren User gleichzeitige Änderungen zu erlauben und diese später zu verwerfen. Dieses Konzept des "optimistic locking" halte ich für die meisten Anwendungen für nicht sinnvoll. Bzw. mir fällt im Moment überhaupt keine Anwendung ein, wo das sinnvoll ist. Es kann natürlich sein, dass ein anderes Verfahren schwieriger zu implementieren ist. (Z.B. Webanwendungen, in denen beliebige User ihre Anwendung mittendrin zuklicken). Als User fände ich es sehr frustierend, meine angefangene Änderung später nicht speichern zu können.

    Dieter

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.814
    Hier hilft ein logische Sperrtabelle, auch für Transaktionen.
    In diese trägt man seinen Sperrgrund ein und kann ebenso darauf prüfen.
    Dieter hat dies schon des öfteren erklärt.
    Mit AtExit-Methoden, Commit-Ressource o.ä. kann man auch bei abnormalem Ende des Jobs für das Aufräumen solcher Sperrgründe sorgen.
    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
    Apr 2012
    Beiträge
    360
    Leider kenne ich den Begriff Sperrtabelle nicht.
    Wie könnte ich mich in das Thema am besten einlesen?

    lg

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.814
    Das ist einfach eine Tabelle, die i.W. einen Schlüssel und einen Wert enthält.
    Diese Tabelle kannst du ja mit einer Satzwartezeit von 1 Sekunde definieren.

    Wenn du eine Ressource (z.B. Kunde) sperren willst, prüfst du, ob in dieser Tabelle der Satz bereits durch einen Eintrag gesperrt ist, ansonsten trägst du dich halt selber ein.
    Das Ganze unter CommitControl, damit das eben sicher ist.
    Beispiel:

    if lesenForUpdate() = false;
    if schreiben() = false;
    // ein anderer war schneller
    endif;
    else;
    UpdateSperre();
    endif;
    commit;

    Machwas(); // Reminizenz an Dieter

    deleteSperre();

    Die Sperrmimik packt man am besten in eigene Programme mit eigener ACTGRP, damit man mit der eigenen Transaktion nicht in Konflikt kommt.

    Literatur zu Anwendungslogik gibts da glaube ich nicht .
    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

Similar Threads

  1. maximale Anzahl LOB-Lokatoren
    By Cray.Wolf in forum NEWSboard Java
    Antworten: 2
    Letzter Beitrag: 09-11-11, 10:15
  2. Maximale Dateigröße im IFS
    By Techniker in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 21-10-06, 18:47
  3. Antworten: 2
    Letzter Beitrag: 02-03-06, 08:38
  4. Maximale Anzahl Spooldateien pro Job
    By abornmann in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 04-10-05, 10:34
  5. Maximale Anzahl Printfiles im RPG
    By gussi40 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 21-12-04, 11:07

Berechtigungen

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