[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2007
    Beiträge
    30
    Ah interessant!

    Ich hab mal nachgesehen, in meinem ODBC

    Commit-Modus: "Lesen ohne COMMIT (*CHG)

    Hatte bisher auch wunderbar geklappt. Den Unterschied zu *NONE weiß ich nicht.

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Commit Steuerung bewirkt, dass Transaktionen geklammert werden können und die Datenbank sicherstellt, dass sie nicht von konkurrierenden Transaktionen beeinflusst werden. Im DB 2 wird das mit Satzsperren sicher gestellt und setzt Journalisierung voraus (damit man mit rollback zurück setzen kann, wenn es einen Konflikt gibt).
    Ein einfaches Beispiel warum das einstellen von Auto Commit oder *none wenn man updates macht, fast immer Unfug ist:
    Benutzer A will eine Lagermenge um 10 erhöhen, gleichzeitig will B um 3 erhöhen
    - A liest den momentanen Inhalt von 12
    - B liest ebenfalls 12
    - A schreibt 22 rein
    - B schreibt 15 rein
    Resultat 12 + 10 + 3 = 15

    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/

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von GutmannHGW Beitrag anzeigen
    Ah interessant!

    Ich hab mal nachgesehen, in meinem ODBC

    Commit-Modus: "Lesen ohne COMMIT (*CHG)

    Hatte bisher auch wunderbar geklappt. Den Unterschied zu *NONE weiß ich nicht.
    Solange Du nur Daten aus nicht aufgezeichneten Dateien liest, mach der Commitment Level *CHG auch keine Probleme. (Auch wenn das Ganze unsauber angegeben ist!)

    Da Du aber, wie oben gesagt "Inhalte verändern und speichern
    " möchtest, müssen die Dateien bei *CHG aufgezeichnet werden. Commitment Controll stellt sicher, dass eine Transaktion (alle Aktionen zwischen 2 Commits) entweder komplett ausgeführt oder nicht ausgeführt werden, d.h. eine Transaktion wird mit Commit beendet und damit festgeschrieben oder durch Angabe des Befehls Rollback bis zum vorhergehenden Commit zurückgesetzt. Die veränderten Datensätze bleiben gesperrt und erst durch Commit oder Rollback freigegeben.

    Wird ohne Journalisierung und ohne Commitment Control gearbeitet, ist ein Zurücksetzen im nicht möglich!

    Werden die Dateien nicht in einem Journal aufgezeichnet und in den entsprechenden Dateien müssen Daten hinzugefügt, geändert oder gelöscht werden, muss mit Commitment Level *NONE gearbeitet werden.

    M.E. ist es heute sträflicher Leichtsinn physische Dateien oder SQL Tabellen nicht aufzuzeichnen und ohne Commitment Control zu arbeiten.
    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
    Mar 2002
    Beiträge
    5.365
    das ist die default Treiber Einstellung und die ist auch so sinnvoll, denn sie stellt eben sicher, dass ein update nicht möglich ist, wenn man nicht journalisiert; soweit man per ODBC (oder SQL) lediglich liest (und über RPG record level die Daten erstellt), braucht man dann nicht unbedingt ein Journal.

    D*B

    PS: freut mich, dass sich die Einsicht verbreitet, dass man Journal und Transaktionskontrolle verwendet!

    Zitat Zitat von B.Hauser Beitrag anzeigen
    Solange Du nur Daten aus nicht aufgezeichneten Dateien liest, mach der Commitment Level *CHG auch keine Probleme. (Auch wenn das Ganze unsauber angegeben ist!)
    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
    Aug 2001
    Beiträge
    2.928
    @Dieter

    PS: freut mich, dass sich die Einsicht verbreitet, dass man Journal und Transaktionskontrolle verwendet!
    auch wenn wir sonst nicht immer der gleichen Meinung sind, in dieser Beziehung habe ich Dir sicher noch nie widersprochen.

    Bei mir wird jede Popel-Datei aufgezeichnet (und das schon seit mindestens 10 Jahren), was bisweilen schon bei Kunden, Erstaunen hervorgerufen hat, weil sich die Dateien für die Hochverfügbarkeitslösung nicht nochmals journalisieren lassen wollten.

    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

Similar Threads

  1. Java ... JDBC ... Zugriff DB2 - Port iSeries ???
    By bode in forum NEWSboard Java
    Antworten: 7
    Letzter Beitrag: 02-09-05, 15:09
  2. GESUCHT Anwendungsentwickler (m/w) IBM iSeries - OS/400, RPG, DB2
    By Burgy Zapp in forum NEWSboard Server Job
    Antworten: 1
    Letzter Beitrag: 05-05-05, 19:00
  3. MS Access Zugriff via ODBC auf iSeries Tabellen
    By Rico in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 21-03-05, 09:43
  4. Iseries DB2
    By TARASIK in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 24-02-05, 19:16
  5. Datentransfer DB2 iseries nach DB2 RS/6000
    By rcide in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 17-08-04, 12:40

Berechtigungen

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