-
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
-
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
Similar Threads
-
By Noob in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 29-01-20, 21:54
-
By bie-dro in forum IBM i Hauptforum
Antworten: 12
Letzter Beitrag: 15-04-16, 20:06
-
By Edi in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 07-11-14, 07:52
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks