Einzelnen Beitrag anzeigen

sega84

Registriert seit: 18. Sep 2006
73 Beiträge
 
Delphi XE2 Professional
 
#8

Re: ADO + Mehrbenutzerbetrieb + Transaktionen + SQL Server

  Alt 20. Mai 2009, 09:23
Kleines Beispiel:
Nutzer 1:
Wir starten eine Fakturierung zur Rechnungserzeugung (StartTransaction).
Diese Fakturierung erzeugt die Rechnung, die Rechnungspostionen, etc.
Dieser Lauf dauert bei uns etwa 5 - 30 Minuten. Nun kann der Anwender zwischendurch die Sache komplett abbrechen.
Beim Abbruch sollte somit ein Rollback ausgeführt werden. Wenn nicht ein Commit.
Da wir in der Transaktion "Select"-Abfragen auf andere Tabellen fahren (z.B. um Artikel, Faktor und Texte zu ermitteln) kommt es somit zu Speeren auf anderen Tabellen (z.b. Tabelle Artikel).

Nutzer 2:
Wenn nun ein anderer Nutzer allerdings z.b. Einen Druck aller Arikel durchführt bekommt dieser eine Speeranforderung vom SQL Server, da alle Datensätze durch die geöffnete Transaktion von Nutzer 1 gesppert sind.

Wie kann ich dieses besser umgehen?
  Mit Zitat antworten Zitat