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:
Erstellen Sie einen Fremdserver für das Verzeichnis (erfordert DBA-Berechtigung).
Erstellen Sie externe Logins für die Datenbankbenutzer, die den Verzeichniszugriffsserver benutzen können (erfordert DBA-Berechtigung).
Erstellen Sie Proxytabellen für den Zugriff auf die Verzeichnisse des Computers (erfordert RESOURCE-Berechtigung).
Verbinden Sie sich als Benutzer mit DBA-Berechtigung mit der Datenbank.
Doppelklicken Sie im linken Fensterausschnitt auf Verzeichniszugriffsserver.
Wählen Sie im Menü Datei den Befehl Neu » .Verzeichniszugriffsserver.
Befolgen Sie die Anweisungen im Assistenten zum Erstellen von Verzeichniszugriffsservern.
Stellen Sie als DBA eine Verbindung mit der Host-Datenbank her.
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'; |
Benutzen Sie die Anweisung CREATE EXTERNLOGIN, um ein externes Login zu erstellen.
Zum Beispiel:
CREATE EXTERNLOGIN DBA TO my_dir_tree; |
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.
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%'; |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |