Datenbanken

Borland Database Engine

Mehrbenutzerfähige Standard-Datenbanken im Netzwerk

Zur Herstellung der Mehrbenutzerfähigkeit geht die BDE für dBASE- und Paradox-Tabellen unterschiedliche Wege. Damit dBASE-Tabellen durch die BDE kontrolliert werden können, fügt die BDE ein für darüberliegende Schichten unsichtbares Feld namens "_DBASELOCK" ein, in dem der Lock-Status für jeden Datensatz eingetragen werden kann.

Durch Verwaltung des Lock-Status wird es der BDE ermöglicht, einen Datensatz nur dem Benutzer zur Editierung freizugeben, der die Sperrung veranlaßte. Andere Benutzer können solange keine Änderugen an den Daten vornehmen, bis die Sperrung wieder aufgehoben wurde.

Lock-Status

Aktiviert wird dieser Mechanismus jedoch erst dann, wenn die Tabelle entsprechend eingerichtet wird. Dazu ist das Kästchen "Infogröße" bzw. "Info Size" in der englischen Version anzukreuzen:

Abbildung 5/2.5.1.4-1: Datensatzsperre für dBASE-Tabelle einrichten

Lock-Mechanismus aktivieren

Die Größe des Info-Feldes kann zwischen 8 und 24 Zeichen umfassen; per Default schlägt die BDE 16 Zeichen vor. Das Feld wird wie folgt benutzt:

Bytes

Inhalt

1-2

geben an, ob ein Benutzer Daten geändert hat

3-5

Zeitpunkt, zu dem die Sperre gesetzt wurde

6-x

Name des Benutzers, der die Sperre veranlaßte

Nachdem eine Tabelle einmal mit einem Lock-Informationsfeld eingerichtet ist, braucht sich der Entwickler nicht mehr dafür zu interessieren; die BDE verwaltet alle Locks automatisch und intern.

Lock-Informationen

Für Paradox-Tabellen kann die BDE einen völlig anderen Weg beschreiten, der in der Datenbankstruktur begründet ist. Paradox-Tabellen benötigen kein zusätzliches Lock-Informationsfeld für jeden Datensatz, sondern kommunizieren mit einer zusätzlichen Tabelle, in der alle Sperren registriert werden. Diese Tabelle wird als "Netzwerk-Kontrolldatei" bezeichnet und besitzt den Namen "PDOXUSRS.NET".

Locking in Paradox-Tabellen

Da die Netzwerk-Kontrolldatei allen Benutzern für Schreibzugriffe zugänglich sein muß, muß die Datei in einem Pfad abgelegt werden, auf den alle potentiellen Anwender Schreibrechte haben. Zum Vorgeben des entsprechenden Verzeichnisses gibt es zwei mögliche Wege

  • Einrichten über BDE-Konfigurationsprogramm
  • Setzen des Laufwerks aus einer Anwendung heraus

Netzwerk-Kontrolldatei

Standardmäßig erfolgt das Einrichten der Netzwerk-Kontrolldatei über das BDE-Konfigurationsprogramm. Die hier getroffene Vorgabe ist dann für alle Anwendungen gültig und braucht nicht jedesmal neu eingestellt zu werden. Zur Einstellung des Verzeichnisses ist das BDE-Konfigurationsprogramm zu starten. Auf der Seite "Treiber" erscheinen nach dem Anklicken des Treibers "Paradox" die zugehörigen Parameter auf der rechten Seite des Dialogfensters:

Abbildung 5/2.5.1.4-2: Verzeichnis für Netzwerk-Kontrolldatei für Paradox-Tabellen festlegen

Einrichten über BDE-Konfigurationsprogramm

Das gewünschte Verzeichnis wird in der Zeile "NET DIR" eingetragen. Hier darf nur ein Verzeichnis gewählt werden, für das alle potentiellen Anwender volle Rechte haben. Diese sind:

  • Schreibrecht
  • Leserecht
  • Datei Erzeugen

Besitzt eine Anwendung diese Rechte nicht, so kommt es beim Programmstart zu einer allgemeinen Schutzverletzung.

Verzeichnis eintragen

Alternativ kann das Vorgeben des Verzeichnisses für die Netzwerk-Kontrolldatei auch aus einer laufenden Anwen-dung heraus erfolgen. Der entsprechende Aufruf muß jedoch abgesetzt werden, bevor eine Tabelle geöffnet wird. Auch hier gilt, daß der einzusetzende Pfad so gewählt werden muß, daß für alle potentiellen Anwender die notwendigen Rechte vorhanden sind.

Die Einstellung selbst erfolgt über das Property NetFileDir der nichtvisuellen Komponente TSession. Dieses Property ist wie folgt definiert:

Setzen des Laufwerks aus einer Anwendung heraus

AnsiString NetFileDir;

Property NetFileDir

Es muß somit ein Delphi-String im AnsiString-Format anstelle der üblichen C-Strings werden. Zugewiesen wird dem Property NetFileDir das komplette Verzeichnis, das die Netzwerk-Kontrolldatei PDOXUSRS.NET aufnehmen soll. Hierbei ist der abschließende Backslash für das Root-Verzeichnis ohnehin zwingend erforderlich und für alle übrigen Verzeichnisse optional aber empfohlen.

Nachdem das Verzeichnis für die Netzwerk-Kontrolldatei spezifiziert ist, können mehrere Anwender auf die Paradox-Datenbanken zugreifen. Die BDE regelt alle Zugriffe automatisch und intern.

Arbeiten mit Mehrbenutzer-Datenbanken

Wertzuweisung

Die Arbeit mit Mehrbenutzer-Datenbanken unterscheidet sich kaum von dem Einsatz lokaler Single-Station-Datenbanken. Der Entwickler muß jedoch darauf vorbereitet sein, daß der Zugriff auf einen Datensatz zum Zwecke der Bearbeitung fehlschlägt, weil ein anderer Benutzer gerade den gleichen Datensatz bearbeitet. In diesem Fall muß die Anwendung die von der BDE ausgelöste Exception abfangen und behandeln, indem beispielsweise eine entsprechende Message angezeigt wird.

Zugriff auf Mehrbenutzer-Datenbanken





Sachgebiet


© 2009-2012 by Alojado Publishing. Alle Rechte vorbehalten. Ausgewiesene Marken gehören ihren jeweiligen Eigentümern.
Mit der Benutzung dieser Seite erkennen Sie die Nutzungsbedingungen und die Datenschutzerklärung an. Der Betreiber übernimmt keine Haftung für den Inhalt verlinkter externer Internetseiten.
Seite erzeugt 2012-02-22 22:25:51 von textarchiv.alojado.de