-
Zitat von dschroeder
Desweiteren hattest du ja bereits früher geschrieben, dass alle Sperren aufgehoben sein sollten, wenn die Kontrolle an den User zurückgeht. Das ist aber doch nur eine Meinung (nämlich deine). Ich finde nicht, dass das eine allgemeingültige Weisheit ist.
... sowas kann Stunden dauern, wenn das bei euch tolerierbar ist, na dann tut es vielleicht auch MS-Access ...
D*B
-
Zitat von BenderD
... sowas kann Stunden dauern, wenn das bei euch tolerierbar ist, na dann tut es vielleicht auch MS-Access ...
Coole Idee ... dann hätten wir ja auch direkt eine grafische Oberfläche ...
-
Die Satzsperren-Problematik betrifft ja (im Wesentlichen) nur Anwendungen mit RLA (Zugriffe ohne SQL).
Die "reine" SQL-Fraktion kennt natürlich auch Sperren, diese sind im Normalfall aber erst nach Update/Insert aktiv und werden automatisch bei Commit/Rollback aufgehoben.
Der Select kennt im Normalfall keine Sperre.
(Ja ich weiß, es gibt den "Select for update", den man aber vermeiden sollte.)
Die Regel beim SQL-Update besteht im erweiterten Where:
Update mytable set value=: newvalue where key=: mykey and value = : oldvalue;
der Update schlägt fehl und der User bekommt einen Hinweis.
Dies ist insoweit interessant da updates unterschiedlicher Felder durch unterschiedliche User dann nicht zum Fehler führen (soweit man nicht mit "Select *" arbeitet) .
Nun muss man noch unterscheiden zwischen Absolut-Updates und Relativ-Updates.
Absolut-Updates " Value = Newvalue" sind sicherlich ein Problem.
Aber Relativ-Updates sind eher unproblematisch " Value = Value + : NewValue".
Darauf ist auch das Design einer Anwendung anzuwenden. Dann kommt man auch ohne Sperren aus.
Bei Stammdaten gibt es aber auch ähnliche Risiken. Man nehme nur das Problem der Dublettenprüfung. Hier helfen keine Satzsperren da die Prüfung ja erst nach Insert stattfinden kann. Findet die Prüfung vor Insert statt gibt es ggf. doch Dubletten wenn 2 Inserts passieren.
In Frameworks (z.b. ADO.NET) wird dies ebenso behandelt da hier i.W. eine Offline-Bearbeitung ganzer Datasets möglich ist, die dann halt beim Update entsprechende Fehleraussagen treffen.
Durch Journalisierung minimiert sich der Programmieraufwand aber gewaltig.
-
Hallo Dieter,
ich kenne folgende Möglichkeit über die Programminformationsdatenstruktur
* --------------------------------------------------------------
* Programminformationsdatenstruktur
* --------------------------------------------------------------
D psds SDS
D excp_data 91 170
C ky_sfl001pf CHAIN(E) sfl001pf
* Fehler beim CHAIN
C IF %ERROR = *ON
* Auf Satzsperre abfragen
C IF %STATUS = 01218
* Das Feld <> hat folgenden Inhalt:
* Satz 11 wird von Job 764835/TSCHABO/QPADEV002F benutzt.
C ENDIF
Vielleich hift dass ja weiter.
Gruß
Tschabo
-
Die Fragestellung war ja, die Sperre zu prüfen bevor sie auftritt.
Die kürzeste Wartezeit bei Satzsperren ist aber bereits 1 Sekunde was manchem zu lang ist und ggf. bei größeren Transaktionen mit Commit wieder zu kurz sein kann.
Similar Threads
-
By loeweadolf in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 23-07-14, 14:01
-
By falke34 in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 11-07-14, 10:32
-
By JonnyRico in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 02-04-03, 15:52
-
By Fertig in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 21-02-03, 11:28
-
By Carsten in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 22-01-02, 08:15
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