Dieter Mang
2003-10-09 13:39:34 UTC
Hallo,
ich muß in einer Anwendung Datensätze über einen längeren Zeitraum
sperren. Ich mache das jetzt so:
' Versuchen den Plan zur Bearbeitung zu sperren
Set cnLock = New ADODB.Connection
cnLock.Open CN.ConnectionString ' CursorLocation = aduseserver
cnLock.CommandTimeout = 1
Set rsLock = New ADODB.Recordset
rsLock.Open "select PID,aendat from zPlan where PID = " +
Str(rsPlan!pid), cnLock, adOpenDynamic, adLockPessimistic
On Error GoTo LockErr
If rsLock!pid = rsPlan!pid Then
rsPlanLocked = True
End If
Exit Sub
LockErr:
MsgBox "Plan ist gesperrt, Bearbeitung nicht möglich"
rsPlanLocked = False
Also währen ich die Bearbeitung immer mit Clientbasierten Cursorn machen
verwende ich zum sperren ein Serverbasiertes Recordset mit
adLockpessimistik.
Im Prinzip funktioniert mal alles auf den ersten Blick. Hat jemand mit
dieser Art von Sperren Erfahrungen? Was kann passieren? Wo sind Problem
zu erwarten. Was gibt es für Alternativen die folgenden Aufgabe lösen.
Während des Bearbeitungszeitraums muß der ganze Vorgang für die
Anwendung gesperrt sein. Ich mache das dadurch das ich den Kopfsatz
sperre und damit in der Anwendung den Zugriff auf die Kindsätze
unterbinde.
ich muß in einer Anwendung Datensätze über einen längeren Zeitraum
sperren. Ich mache das jetzt so:
' Versuchen den Plan zur Bearbeitung zu sperren
Set cnLock = New ADODB.Connection
cnLock.Open CN.ConnectionString ' CursorLocation = aduseserver
cnLock.CommandTimeout = 1
Set rsLock = New ADODB.Recordset
rsLock.Open "select PID,aendat from zPlan where PID = " +
Str(rsPlan!pid), cnLock, adOpenDynamic, adLockPessimistic
On Error GoTo LockErr
If rsLock!pid = rsPlan!pid Then
rsPlanLocked = True
End If
Exit Sub
LockErr:
MsgBox "Plan ist gesperrt, Bearbeitung nicht möglich"
rsPlanLocked = False
Also währen ich die Bearbeitung immer mit Clientbasierten Cursorn machen
verwende ich zum sperren ein Serverbasiertes Recordset mit
adLockpessimistik.
Im Prinzip funktioniert mal alles auf den ersten Blick. Hat jemand mit
dieser Art von Sperren Erfahrungen? Was kann passieren? Wo sind Problem
zu erwarten. Was gibt es für Alternativen die folgenden Aufgabe lösen.
Während des Bearbeitungszeitraums muß der ganze Vorgang für die
Anwendung gesperrt sein. Ich mache das dadurch das ich den Kopfsatz
sperre und damit in der Anwendung den Zugriff auf die Kindsätze
unterbinde.
--
Gruss Dieter
Gruss Dieter