Laden...

[SQL2005] gleichzeitiger Zugriff auf DB bzw. Webservice

Erstellt von m@crotron vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.641 Views
M
m@crotron Themenstarter:in
233 Beiträge seit 2006
vor 16 Jahren
[SQL2005] gleichzeitiger Zugriff auf DB bzw. Webservice

Hallo,
Ich habe einen Webservice, welcher in einer SQL-Tabelle Gutschein-Codes überprüft.

Benutzer A schickt dem Webservice einen Gutscheincode "123".
Benutzer B schickt ebenfalls zeitgleich den gleichen Gutscheincode.

Wie kann ich z.B. verhindern, wenn der Code von Benutzer A überprüft wird,
gleichzeitig das Prüfen des Codes von Benutzer B verhindert wird.

kurz gesagt, es darf immer nur ein Code geprüft werden.

Wie könnte ich das realisieren ?

H
51 Beiträge seit 2007
vor 16 Jahren

Hallo!

Ich denke folgendes könnte dir eventuell weiterhelfen:
http://www.sqlteam.com/item.asp?ItemID=250

Grüße

M
m@crotron Themenstarter:in
233 Beiträge seit 2006
vor 16 Jahren

Danke für deine Antwort.

Gibt es noch andere Möglichkeiten außer Row-Locking?

Ich habe bei der aufgezeigten Lösung ein wenig Angst vor Seiten-effekte, die ich nicht mehr steuern kann ?

1.274 Beiträge seit 2005
vor 16 Jahren

Warum geht nicht einfach, eine SQL Statment abzufeuern und den Gutschein mit eine Bool Feld Ungültig zu erklären?

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

M
m@crotron Themenstarter:in
233 Beiträge seit 2006
vor 16 Jahren

Original von LastGentleman
Warum geht nicht einfach, eine SQL Statment abzufeuern und den Gutschein mit eine Bool Feld Ungültig zu erklären?

das ist genauso anfällig für eine Race-Conditions,
auch wenn die Wahrscheinlichkeit weiter sinkt, dass zwei Anfragen so kurz nacheinander kommen, dass beide den Gutschein für gültig erachten.

1.274 Beiträge seit 2005
vor 16 Jahren

und wenn du eine ID generierst
diese ID in dei Gutschein Tabelle einträgst
und dann die Tabelle ausließt und dann schaust ob wirklich deine ID drinnen steht.

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein