-
Frage zum Thema "Satzsperren"
Hallo,
eines meiner Dialogprogramme besteht aus mehreren einzelnen Programmen welche als Module gewandelt und anschließend zu einem Programm gebunden wurden.
Jetzt habe ich folgendes Problem: Das erste Modul liest einen Satz zur weitern Bearbeitung ein und sperrt diesen, vor jedem Modul wechsel muss ich dann den Satz wieder freigeben, um ihn dann wieder zu sperren. Genau in dem kurzen Zeitraum kann ein anderes Programm den Satz sperren, was eigentlich nicht sein sollte.
Gibt es eine Möglichkeit, dass die zu einem Programm vereinten Module einen Satz gemeinsam nutzen können ohne den Datensatz vor jedem Modul wechsel freizugeben und wieder zu sperren?
Danke für Eure Hilfe!
Joe
-
Hallo Joe,
die Wahrscheinlichkeit dass ein anderer Job beim Modulwechsel dazwischenkommt dürfte gar nicht so gering sein, da idR. bei Satzsperre eine gewisse Zeit gewartet wird, bis die Datei frei ist.
Ob es eine modulübergreifende Sperre gibt weiß ich leider nicht.
Evtl. kannst Du den Dateizugriff in ein eigenes Modul auslagern und nur noch darüber lesen/schreiben?
Gruß
Christian
-
Ich möchte nur 2 Begriffe in den Raum stellen:
"Shared Open" und "Commitment"
Gruß
Z
-
Shared Open hilft da auch nur bedingt (OVRDBF/CHGPF ... SHARE(*YES).
Hier kommt es insbesonders auf die Openart des 1. Programmes an.
Öffnet das 1. Programm die Datei Input, kann das folgende Programm die Datei auch nur noch Input eröffnen obwohl ggf. mit Update definiert ist.
Gemerkt wird das aber erst, wenn denn dann tatsächlich ein Update/Write erfolgt.
Desweiteren kann der aktuelle Satzzeiger durch untergeordnete Programme verschoben werden.
Liest das 1. Programm einen Satz mit Sperre und das das Unterprogramm dann ohne oder einen ganz anderen Satz, stimmt eben der Satzzeiger nicht mehr.
Hier empfielt sich doch eher die Verwendung eine "File-Handler's" der diese Operationen vornimmt.
-
Hallo,
d.h. ich muss die Lese-/Schreibzugriffe in ein eigenes Modul auslagern, damit ich das Problem in den Griff bekommen kann.
Sollte man die IO-Operationen mittels Modul oder Serviceprogramm einbinden?
Gibt es ev. Beispiele für derartige Funktionen?
Danke!
Joe
-
Anmerkung:
Die Alternative ist die Übergabe der Satzstruktur als Parameter, so dass das Modul nicht selber nochmal lesen muss.
Ein Filehandler löst allerdings Design-Probleme nicht, da ja ggf. jedes Modul in der Aufruf-Kette wiederum einen anderen Satz der selben Datei lesen kann und somit auf bestimmte Informationen dann kein Verlass ist.
-
Hallo,
Commit Steuerung ermöglicht die Festlegung des Sperrverhaltens. Bei repeatable read (as400 nennt das auch all) bleiben gelesene Sätze bis zum Transaktionsende (commit oder rollback) gesperrt.
mfg
Dieter Bender
Zitat von CrazyJoe
Hallo,
eines meiner Dialogprogramme besteht aus mehreren einzelnen Programmen welche als Module gewandelt und anschließend zu einem Programm gebunden wurden.
Jetzt habe ich folgendes Problem: Das erste Modul liest einen Satz zur weitern Bearbeitung ein und sperrt diesen, vor jedem Modul wechsel muss ich dann den Satz wieder freigeben, um ihn dann wieder zu sperren. Genau in dem kurzen Zeitraum kann ein anderes Programm den Satz sperren, was eigentlich nicht sein sollte.
Gibt es eine Möglichkeit, dass die zu einem Programm vereinten Module einen Satz gemeinsam nutzen können ohne den Datensatz vor jedem Modul wechsel freizugeben und wieder zu sperren?
Danke für Eure Hilfe!
Joe
Similar Threads
-
By stoerfang in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 24-01-13, 10:27
-
By Mr.iSeries in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 02-09-08, 10:16
-
By Bratmaxxe in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 24-01-07, 19:17
-
By Freezer in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 23-10-06, 21:02
-
By malzusrex in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 23-08-06, 17:12
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