Freigeben über


Steuern des Zugriffs auf Daten

Da auf in Dateien befindliche Datenbestände zugegriffen wird, beginnt eine effiziente Datenorganisation mit der Steuerung der Umgebung dieser Dateien. Sie müssen wählen, wie auf die Daten zugegriffen werden soll, und wie und wann dieser Zugriff eingeschränkt werden muss.

Zugreifen auf Daten

In einer Mehrbenutzerumgebung können Sie auf zwei Weisen auf Daten zugreifen: auf Daten in exklusiven Dateien oder auf Daten in gemeinsam verwendeten Dateien. Wenn Sie eine Tabelle für den gemeinsamen Zugriff öffnen, können andere Benutzer ebenfalls auf diese Datei zugreifen. Öffnen Sie jedoch eine Tabelle für den exklusiven Zugriff, kann kein anderer Benutzer diese Datei lesen oder in diese Datei schreiben. Da bei exklusiver Verwendung viele der Vorteile des gemeinsamen Datenzugriffs im Netzwerk nicht verfügbar sind, sollte diese Möglichkeit nur sparsam verwendet werden.

Verwenden einer Tabelle mit exklusivem Zugriff

Die am meisten einschränkende Möglichkeit zum Öffnen einer Datei besteht darin, sie exklusiv zu öffnen. Wenn Sie eine Tabelle über die Oberfläche öffnen, wird sie standardmäßig für den exklusiven Zugriff geöffnet. Sie können eine Tabelle jedoch auch explizit für den exklusiven Zugriff öffnen, indem Sie die entsprechenden Visual FoxPro-Befehle verwenden.

So öffnen Sie eine Tabelle für den exklusiven Zugriff

  • Geben Sie im Fenster Befehl die folgenden Befehle ein:

    SET EXCLUSIVE ON
    USE cMyTable
    

    - Oder -

  • Geben Sie im Fenster Befehl den folgenden Befehl ein:

    USE cMyTable EXCLUSIVE
    

Bei den folgenden Befehlen wird vorausgesetzt, dass Sie eine Tabelle für den exklusiven Zugriff öffnen:

  • ALTER TABLE
  • INDEX, wenn ein Mehrfachindexname erstellt, hinzugefügt oder gelöscht werden soll.
  • INSERT [BLANK]
  • MODIFY STRUCTURE Damit Sie diesen Befehl zum Ändern der Tabellenstruktur verwenden können, müssen Sie die Tabelle exklusiv öffnen. Sie können diesen Befehl jedoch auch im Schreibschutzmodus verwenden, wenn Sie die Tabelle für den gemeinsamen Zugriff öffnen.
  • PACK
  • REINDEX
  • ZAP

Visual FoxPro gibt die Fehlermeldung "Diese Datei kann nur aktualisiert werden, wenn sie exklusiv geöffnet ist" zurück, wenn Sie versuchen, eine für den gemeinsamen Zugriff geöffnente Tabelle mit einem der vorangegangenen Befehle zu bearbeiten.

Sie können den Zugriff auf eine Tabelle mit Hilfe der FLOCK( )-Funktion einschränken. Wenn Sie eine Tabelle mit Hilfe von FLOCK( ) sperren, können andere Benutzer die Tabelle zwar lesen, jedoch nicht in diese Tabelle schreiben.

Verwenden einer Tabelle mit gemeinsamem Zugriff

Wenn Sie eine Tabelle für den gemeinsamen Zugriff öffnen, kann die gleiche Tabelle gleichzeitig von mehr als einer Arbeitsstation aus verwendet werden. Wenn Sie eine Tabelle über die Oberfläche öffnen, können Sie die standardmäßige ON-Einstellung für SET EXCLUSIVE außer Kraft setzen. Sie können eine Tabelle auch explizit für den gemeinsamen Zugriff öffnen, indem Sie die entsprechenden Visual FoxPro-Befehle verwenden.

So öffnen Sie eine Tabelle für den gemeinsamen Zugriff

  • Geben Sie im Fenster Befehl die folgenden Befehle ein:

    SET EXCLUSIVE OFF
    USE cMyTable
    

    - Oder -

  • Geben Sie im Fenster Befehl den folgenden Befehl ein:

    USE cMyTable SHARED
    

Wenn Sie in einer für den gemeinsamen Zugriff geöffneten Tabelle Daten hinzufügen oder ändern möchten, müssen Sie den entsprechenden Datensatz oder die gesamte Tabelle erst sperren. Sie können einen Datensatz oder eine Tabelle, die für den gemeinsamen Zugriff geöffnet ist, auf eine der folgenden Weisen sperren:

  • Verwenden Sie einen Befehl, der den Datensatz oder die Tabelle automatisch sperrt.
  • Sperren Sie einen oder mehrere Datensätze oder die gesamte Tabelle manuell mit den Funktionen zum Sperren von Datensätzen und Tabellen.
  • Initiieren Sie mit Hilfe der CURSORSETPROP( )-Funktion eine Zwischenspeicherung.

Dazugehörige Memo- und Indexdateien werden immer mit dem gleichen Zugriffsstatus geöffnet wie die entsprechende Tabelle.

Wenn Ihre Anwendung nur zum Zwecke des Nachschlagens auf eine Tabelle zugreift und alle Benutzer der Anwendung hierauf zugreifen, können Sie die Leistung steigern, indem Sie die Tabelle als schreibgeschützt kennzeichnen.

Siehe auch

Programmieren für freigegebenen Zugriff | Sperren von Daten | ALTER TABLE | INDEX | INSERT [BLANK] | MODIFY STRUCTURE | Verwenden von Datensitzungen | Zwischenspeichern von Daten