Thema: Delphi Locking deaktivieren

Einzelnen Beitrag anzeigen

hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Locking deaktivieren

  Alt 7. Feb 2007, 11:13
Nachfolgend ein kurzer Auszug der Access OH zum Thema Sperrungen:

Zitat:
Informationen zur Auswahl einer Strategie zum Sperren von Datensätzen in einer Access-Datenbank unter den Bedingungen einer Mehrbenutzerumgebung
Wenn Sie einen Datensatz bearbeiten, kann Microsoft Access andere Benutzer automatisch daran hindern, den Datensatz zu ändern, bevor Sie Ihre Bearbeitung abgeschlossen haben.

Wenn ein Benutzer exklusiven Zugriff auf einen Datensatz erhält, wird dies Sperrung genannt. Man unterscheidet beim Sperren drei Strategien:

Keine Sperrungen: Microsoft Access sperrt den Datensatz, den Sie gerade bearbeiten, nicht. Wenn Sie versuchen, Änderungen an einem Datensatz, den ein anderer Benutzer ebenfalls geändert hat, zu speichern, zeigt Microsoft Access eine Meldung mit den folgenden Optionen an: Überschreiben der Änderungen des anderen Benutzers, Kopieren Ihrer Version des Datensatzes in die Zwischenablage oder Verwerfen Ihrer Änderungen. Diese Strategie stellt zwar sicher, dass Datensätze immer bearbeitet werden können, es können jedoch Konflikte bei der Bearbeitung auftreten.


Bearbeitete Datensätze: Microsoft Access sperrt den Datensatz, den Sie gerade bearbeiten, so dass kein anderer Benutzer ihn ändern kann. Unter Umständen werden auch andere Datensätze gesperrt, die auf dem Datenträger in unmittelbarer Nähe gespeichert sind. Falls ein anderer Benutzer versucht, einen von Ihnen gesperrten Datensatz zu bearbeiten, zeigt Microsoft Access im Datenblatt des anderen Benutzers den Indikator "Gesperrter Datensatz" an. Diese Strategie stellt sicher, dass Sie begonnene Änderungen immer zu Ende führen können. Sie ist geeignet, wenn es nicht häufig zu Konflikten bei der Bearbeitung kommt.


Alle Datensätze: Microsoft Access sperrt alle Datensätze im Formular oder Datenblatt (und in den zugrunde liegenden Tabellen), die Sie bis zum Schließen des Formulars oder Datenblattes bearbeiten, so dass sie von niemand anderem bearbeitet oder gesperrt werden können. Diese Strategie ist sehr einschränkend. Sie sollten sie nur dann wählen, wenn Sie wissen, dass Sie jeweils der/die einzige sind, der/die die Datensätze bearbeiten muss.
Um Informationen zum Festlegen einer dieser Optionen zu erhalten, klicken Sie auf .

Anmerkung Wenn Sie Daten in einer verknüpften SQL-Datenbanktabelle unter Verwendung von ODBC bearbeiten, sperrt Microsoft Access die Datensätze nicht. Stattdessen steuern die Regeln der SQL-Datenbank die Sperrung. In diesem Fall verhält sich Microsoft Access so, als ob die Einstellung Keine Sperrungen gewählt wurde, unabhängig davon, welche Einstellung Sie für Ihre Datenbank gewählt haben.
Daraus schliesse ich, dass Access nicht in der Lage ist, Sperrungen komplett zu deaktivieren, denn wenn die Option "Keine Sperrungen" aktiviert ist, wird optimistisch gesperrt, der schnellste Gewinnt beim Speichern also.

Nun habe ich Access beigebracht, das Sperren ADO zu überlassen. ADO bietet ja aber nur die im ersten Beitrag erwähnten LockTypen, von welchen keiner mein Bedürfnis abzudecken scheint.

Kann es überhaupt so enirichtet werden, dass der letzte der speichert, egal was sich am Datensatz ändert, auch wirklich speichern kann?!
inde deus abest
  Mit Zitat antworten Zitat