Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Ferndatenzugriff und Arbeit mit Massendaten » Auf entfernte Daten zugreifen » Verzeichniszugriffsserver benutzen

 

Verzeichniszugriffsserver erstellen

Mit der Anweisung CREATE SERVER oder dem Assistenten "Verzeichniszugriffsserver erstellen" in Sybase Central erstellen Sie einen Verzeichniszugriffsserver.

Wenn Sie einen Verzeichniszugriffsserver erstellen, können Sie die Anzahl der Unterverzeichnisse festlegen, auf die zugegriffen werden können, und bestimmen, ob der Verzeichniszugriffsserver zum Ändern vorhandener Dateien benutzt werden kann.

Die folgenden Schritte sind erforderlich, um einen Verzeichniszugriffsserver einzurichten:

  1. Erstellen Sie einen Fremdserver für das Verzeichnis (erfordert DBA-Berechtigung).

  2. Erstellen Sie externe Logins für die Datenbankbenutzer, die den Verzeichniszugriffsserver benutzen können (erfordert DBA-Berechtigung).

  3. Erstellen Sie Proxytabellen für den Zugriff auf die Verzeichnisse des Computers (erfordert RESOURCE-Berechtigung).

♦  So erstellen und konfigurieren Sie einen Verzeichniszugriffsserver (Sybase Central)
  1. Verbinden Sie sich als Benutzer mit DBA-Berechtigung mit der Datenbank.

  2. Doppelklicken Sie im linken Fensterausschnitt auf Verzeichniszugriffsserver.

  3. Wählen Sie im Menü Datei den Befehl Neu » .Verzeichniszugriffsserver.

  4. Befolgen Sie die Anweisungen im Assistenten zum Erstellen von Verzeichniszugriffsservern.

♦  So erstellen und konfigurieren Sie einen Verzeichniszugriffsserver (SQL)
  1. Stellen Sie als DBA eine Verbindung mit der Host-Datenbank her.

  2. Benutzen Sie die Anweisung CREATE SERVER, um einen Fremdserver zu erstellen.

    Zum Beispiel:

    CREATE SERVER my_dir_tree
    CLASS 'directory'
    USING 'root=c:\Program Files';
  3. Benutzen Sie die Anweisung CREATE EXTERNLOGIN, um ein externes Login zu erstellen.

    Zum Beispiel:

    CREATE EXTERNLOGIN DBA TO my_dir_tree;
  4. Benutzen Sie die Anweisung CREATE EXISTING TABLE, um eine Proxytabelle für das Verzeichnis zu erstellen.

    Zum Beispiel:

    CREATE EXISTING TABLE my_program_files AT 'my_dir_tree;;;.';

    In diesem Beispiel ist "my_program_files" der Name des Verzeichnisses, und "my_dir_tree" ist der Name des Verzeichniszugriffsservers.

Beispiel

Die folgenden Anweisungen erstellen einen neuen Verzeichniszugriffsserver mit dem Namen directoryserver3, der für den Zugriff auf bis zu drei Unterverzeichnisebenen verwendet werden kann. Außerdem erstellen sie ein externes Login zum Verzeichniszugriffsserver für den Benutzer mit DBA-Berechtigung sowie eine Proxytabelle mit dem Namen diskdir3.

CREATE SERVER directoryserver3
CLASS 'DIRECTORY'
USING 'ROOT=c:\mydir;SUBDIRS=3';
CREATE EXTERNLOGIN DBA TO directoryserver3;
CREATE EXISTING TABLE diskdir3 AT 'directoryserver3;;;.';

Mithilfe der sp_remote_tables-Systemprozedur können Sie alle Unterverzeichnisse anzeigen, die sich unter c:\mydir auf dem Computer befinden, auf dem der Datenbankserver ausgeführt wird:

CALL sp_remote_tables( 'directoryserver3' );

Mit der folgenden SELECT-Anweisung können Sie den Inhalt der Datei c:\mydir\myfile.txt anzeigen:

SELECT contents
FROM diskdir3
WHERE file_name = 'myfile.txt';

Alternativ dazu können Sie auch Daten aus den Verzeichnissen wählen:

-- Get the list of directories in this disk directory tree.
SELECT permissions, file_name, size
FROM diskdir3
WHERE PERMISSIONS LIKE 'd%';
-- Get the list of files.
SELECT permissions, file_name, size
FROM diskdir3
WHERE PERMISSIONS NOT LIKE 'd%';
Siehe auch