AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Szenario in einer Multi-User-Umgebung
Thema durchsuchen
Ansicht
Themen-Optionen

Szenario in einer Multi-User-Umgebung

Ein Thema von khh · begonnen am 5. Dez 2008 · letzter Beitrag vom 6. Dez 2008
 
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#1

Szenario in einer Multi-User-Umgebung

  Alt 5. Dez 2008, 18:02
Datenbank: firebird • Version: 2.1 • Zugriff über: ZEOS
Hallo zusammen,
folgendes Szenario:
In einer Mehrbenutzerumgebung mit, sagen wir mal, 50 Arbeitsplätzen sollen Neukunden angelegt werden.
Nun ist es ja theoretisch möglich, das an _allen_ Arbeitsplätzen zur gleiche Zeit neue Kunden angelegt werden.
Die Kundennummern die verwendet werden kommen aus einer Tabelle Nummernkreise.
Diese wird bei der Kunden-Anlage gelesen und die Kundennummer wird beim Speichern in der Tabelle Nummernkreise hochgezählt.

Wenn ich jetzt zu Beginn der Neuanlage eine Kundenummer hole, ist es ja möglich, dass an einem anderen Arbeitsplatz zur gleichen Zeit( bevor diese hochgezählt ist), eine Kundennummer angefordert wird.
Also müsste ich ich die Tabelle Nummernkreise sperren.
Wen nun aber ein Anwender den Vorgang nicht zu Ende bringt und in Urlaub geht, steh ich blöd da.
Also habe ich gedacht, ich hole die neue Nummer erst vor dem Speichern des neuen Satzes.
Dennoch besteht immer noch die Möglichkeit,dass zwei Kundennummern gleichzeitig angefordert werden.
Also sperre ich die Tabelle Nummerkreise vor dem Post und gebe sie danach wieder frei.

Die müsste sich ja in Sekundenbruchteilen abspielen.
Wie hoch ist die Wahrscheinlichkeit, bei 50 Arbeitsplätzen, dass mehrere Benutzer im gleichen Sekundenbruchteil auf die Tabelle zugreifen?

Wie würdet ihr vorgehen, die Tabelle zu sperren?

Mit Transaktionen aus der Anwendungssoftware, ( ich dachte an ein begin work, commit work, vor und nach dem Post) oder auf Datenbankseite.

Wenn auf DB-Seite, wie ist das dort am effektivsten?

Danke für eure Meinungen gruss kh
Karl-Heinz
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz