[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2020
    Beiträge
    4

    JDBC Zugriffsprobleme mit "concurrent access resolution"=last commited

    Hallo zusammen,

    ich schreibe aktuell ein Java Programm und greife konkurrierend mit RPG Programmen auf dieselben Daten zu. Im Java Programm verwende ich Transaktionen, die RPG Programme tun dies nicht (und können aktuell auch nicht auf Transaktionssteuerung umgestellt werden).

    Der lesende Zugriff aus Java ist folgenden Treibereinstellungen spezifiziert:

    readOnly = true
    isolation level=*CS
    concurrent access resolution=last commited


    Es passiert nun immer wieder, dass ich beim lesenden Zugriff über Java einen Fehler bekomme, dass das Objekt gesperrt ist und nicht gelesen werden kann ("SQL-Fehler: -819").
    Nach meinem Verständnis sollte eigentlich in diesem Fall bei meinen Treibereinstellungen der letzte committete Stand aus dem Journal gelesen werden.
    Wenn ich aus einem Java-Programm innerhalb einer Transaktion ein Schreib-Lock erzeuge und das Programm anhalte (d.h. den Satz gesperrt halte), dann funktioniert auch alles wie erwartet.
    Ich konnte es zwischenzeitlich darauf einschränken, dass im Fehler-Fall der zu lesende Record nicht im Journal enthalten ist (wenn ich vor dem Nachstellen der Situation per SQL ein Update auf den betroffenen Satz mache, dann ist das Verhalten wieder wie erwartet).


    Meine Vermutung ist nun, dass hier bei Schreibenden Zugriffen ohne Transaktionssteuerung (also z.B. aus den RPG Programmen), das Vorhalten des letzten committeten Standes im Journal nicht passiert.


    Gibt es hier eine Einstellung, die das benötigte Verhalten erzwingen würde (also quasi eine Pseudo-Transaktion erzeugt, falls ohne Transaktionssteuerung geschrieben werden soll)?

    Oder bin ich hier völlig auf dem Holzweg?

    Liebe Grüße

    Noob

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Ja du bleibst auf dem Holzweg, da du hier die Frage bereits gestellt hast:
    http://newsolutions.de/forum-systemi...-last-commited

    Daher nochmal:
    "das Vorhalten des letzten committeten Standes im Journal nicht passiert" => das gibt es nicht in der DB2 for i
    "Satzversionen" werden nicht unterstützt, so wie es der SQL-Server nur u.U. macht.
    Beim SQL-Server ist es sogar noch schlimmer, da fast jeder SQL-Befehl die gesamte Tabelle gegen Änderungen schützt, selbst beim einfachen Select.

    https://www.ibm.com/support/knowledg...bafydicomm.htm
    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. Antworten: 3
    Letzter Beitrag: 29-01-20, 21:54
  2. Antworten: 12
    Letzter Beitrag: 15-04-16, 20:06
  3. MinusField falsche Darstellung "ü" statt "-"
    By Edi in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 07-11-14, 07:52
  4. Cobol/400 - "Fett", "Unterstreichen" als HEX-Wert
    By RLurati in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 05-08-14, 09:10

Berechtigungen

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