-
Das wäre aber ein Drama, wenn sich der Lesebefehl je nach Fehlerüberwachung anders verhielte!
Aber es passiert logischerweise das absolut Idente, der Lesebefehl kann nicht lesen. Ob man diesen Zustand nun per Bezugszahl, Built-In-Funktion oder MONITOR feststellt, darf für die Position des Dateizeigers keinen Unterschied machen.
Außerdem sollte man DB-Sätze nur dann sperren, wenn die Updatewahrscheinlichkeit hoch ist.
Zum Füllen eines Subfiles aber auf keinen Fall, wie Baldur schon völlig richtig angemerkt hat.
Und selbst wenn es ginge; die Faulheit beim Codieren würde sich da sowieso zur Laufzeit rächen. Man muss nur genug User drauf los lassen.
-
 Zitat von AG1965_2
Außerdem sollte man DB-Sätze nur dann sperren, wenn die Updatewahrscheinlichkeit hoch ist.
Und selbst wenn es ginge; die Faulheit beim Codieren würde sich da sowieso zur Laufzeit rächen. Man muss nur genug User drauf los lassen.
Genau aus diesem Grund verwende ich zum lesen eine logische Inputdatei und eine Updatedatei.
Und schon sind einige Probleme gelöst.
kf
-
Halte ich auch für übertrieben, nur deswegen 2 Datenpfade zu öffnen, wo es doch READ(N) usw. gibt, womit ich auch eine Datei, die für Update geöffnet wurde, ohne Sperre lesen kann.
-
Die Satzwartezeit (Default 1 Minute) ist dann auch nicht zu verachten.
Warum soll man den User erst 1 Minute warten lassen um dann unvollständige Daten anzuzeigen?
Bei SQL und Transaktionen muss ja sowieso anders denken.
-
Halte ich auch für übertrieben, nur deswegen 2 Datenpfade zu öffnen, wo es doch READ(N) usw. gibt, womit ich auch eine Datei, die für Update geöffnet wurde, ohne Sperre lesen kann.
Das klappt aber nur wenn Du ohne Commitment Control arbeitest.
Unter Commitment Control gibt weder die Erweiterung (N) noch der OpCode UNLOCK den Datensatz frei!
Birgitta
-
Danke Birgitta, wieder was (von dir) gelernt!
-
Dies gehört beim Einsatz von Commit/Control allerdings zum Grundwissen .
Vorsicht ist beim Commit-Level *ALL anzuwenden.
Jeder READ, also auch ein READ(N), bleibt bis zum Commit/Rollback gesperrt.
Ich habe noch keine Anwendung gefunden in der dieser Sperrstatus sinnvoll ist.
-
 Zitat von Fuerchau
Dies gehört beim Einsatz von Commit/Control allerdings zum Grundwissen  .
Vorsicht ist beim Commit-Level *ALL anzuwenden.
Jeder READ, also auch ein READ(N), bleibt bis zum Commit/Rollback gesperrt.
Ich habe noch keine Anwendung gefunden in der dieser Sperrstatus sinnvoll ist.
Die dahinter stehende Anforderung ist völlig alltäglich und in vielen Anwednungen wird da ohne Commit aufwändig drumherumprogrammiert:
- bei der Bearbeitung eines Auftrages müssen der Kopf und alle Positionen gesperrt werden. Lösung mit Commit; Sperrstufe Repeatable read (AS400 nennt das *ALL). Work around: Sperrkenzeichen im Kopf, das aber einfach ignoriert werden könnte.
- Bei einer Lagerumbuchung müssen angezeigte Lagerbestände gesperrt sein. Lösung mit Commit: Repeatable read. Ohne Commit: hoffentlich klappt das jetzt.
BTW: die Ausgangsfrage wäre mit commit Level Read committed elementar lösbar gewesen, da werden gesperrte Sätze überlesen (bei read uncommited kriegt man alle gezeigt.
Ich kann nur immer wieder empfehlen sich mit Commit Steuerung vertraut zu machen, statt falsche Vorurteile abzulassen. Für Software Häuser ohnehin ein Muss (ich enpfehle einen Blick in das europäische Produkthaftungsrecht).
D*B
-
Für mein Verständnis sehr hilfreich, danke
Similar Threads
-
By ExAzubi in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 02-07-14, 14:13
-
By XMan in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 20-12-13, 08:50
-
By Liebhoff in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 01-03-02, 21:24
-
By HoScHiE in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 12-10-01, 10:46
-
By Frank in forum NEWSboard Server Software
Antworten: 0
Letzter Beitrag: 02-09-01, 11:35
Tags for this Thread
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