[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.207
    Wie oft willst du immer denselben Beitrag wieder posten?
    Deine Anforderung kann mit *CS nicht gelöst werden, da dies auf der IBM i nicht unterstützt wird.

    Ich erkläre das nun zum 3.Mal:
    - Ändere die Verbindung auf *CHG
    - oder verwende beim Lesen "select … with NC"

    Beim nächsten Mal lösche ich den Betrag dann.
    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: 1
    Letzter Beitrag: 03-02-20, 10:13
  2. Antworten: 3
    Letzter Beitrag: 29-01-20, 22:54
  3. Antworten: 12
    Letzter Beitrag: 15-04-16, 21:06
  4. MinusField falsche Darstellung "ü" statt "-"
    By Edi in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 07-11-14, 08:52
  5. Cobol/400 - "Fett", "Unterstreichen" als HEX-Wert
    By RLurati in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 05-08-14, 10:10

Berechtigungen

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