Lock finden

26/04/2008 - 14:59 von Stefan Langkau | Report spam
Hallo zusammen,

in einer Anwendung (A2000/SQl Server 2005 Express) stehe ich vor dem
Problem, das zwei verschiedene Abteilungen mit Daten derselben Tabelle
arbeiten und auch Änderungen vornehmen dürfen. Das gilt für Abteilung
A allerdings nur solange, bis Abteilung B einen Datensatz als
abgeschlossen kennzeichnet (ja/nein-Feld, bit, Standardwert 0).

Nun kann es passieren, dass ein Datensatz noch von A bearbeitet wird,
wàhrend B diesen DS abschließen will. Ein entsprechendes Update-
Statement von B produziert also einen Fehler.

Da das Update Statement aber jeweils über eine ganze Gruppe von
Datensàtzen geht, ist diese allerdings relativ unspezifisch (ODBC
Aufruf fehlgeschlagen)

Immens hilfreich wàre es, wenn ich den oder die verantwortlichen
Datensàtze identifizieren könnte und dem User in Abteilung B einen
entsprechenden Hinweis geben könnte a la: Ausführung nicht möglich,
Datensatz xy wird gerade bearbeitet.

Leider habe ich dazu noch keine Möglichkeit gefunden, sp_who und
sp_who2 helfen mir nicht weiter, soweit ich das überblicken kann.

Für Tipps wàre ich dankbar.

Gruß,

Stefan
 

Lesen sie die antworten

#1 Hannes Brunner
28/04/2008 - 15:37 | Warnen spam
Hallo Stefan,

Stefan Langkau schrieb:
Hallo zusammen,

in einer Anwendung (A2000/SQl Server 2005 Express) stehe ich vor dem
Problem, das zwei verschiedene Abteilungen mit Daten derselben Tabelle
arbeiten und auch Änderungen vornehmen dürfen. Das gilt für Abteilung
A allerdings nur solange, bis Abteilung B einen Datensatz als
abgeschlossen kennzeichnet (ja/nein-Feld, bit, Standardwert 0).

Nun kann es passieren, dass ein Datensatz noch von A bearbeitet wird,
wàhrend B diesen DS abschließen will. Ein entsprechendes Update-
Statement von B produziert also einen Fehler.



Woher weiß B denn dass A mit der Bearbeitung fertig ist?

Da das Update Statement aber jeweils über eine ganze Gruppe von
Datensàtzen geht, ist diese allerdings relativ unspezifisch (ODBC
Aufruf fehlgeschlagen)



Das hört sich nach einer MDB/MDE mit eingebundenen Tabellen an. Richtig?

Immens hilfreich wàre es, wenn ich den oder die verantwortlichen
Datensàtze identifizieren könnte und dem User in Abteilung B einen
entsprechenden Hinweis geben könnte a la: Ausführung nicht möglich,
Datensatz xy wird gerade bearbeitet.



Ich würde da nicht mit den Sperren des SQL Servers arbeiten, sondern
mich selbst um Sperrvermerke in den Tabellen kümmern.

Gruß
Hannes

Ähnliche fragen