Mit dieser Anweisung erstellen Sie einen Fremdserver.
CREATE SERVER Servername CLASS Serverklasse-Zeichenfolge USING Verbindungsinformation-Zeichenfolge [ READ ONLY ]
Serverklasse-Zeichenfolge : 'SAODBC' | 'ASEODBC' | 'DB2ODBC' | 'MSSODBC' | 'ORAODBC' | 'MSACCESSODBC' | 'MYSQLODBC' | 'ULODBC' | 'ADSODBC' | 'ODBC' | 'SAJDBC' | 'ASEJDBC'
Verbindungsinformation-Zeichenfolge :
{ Hostname:Portnummer [/DB-Name ] | Datenquellenname | sqlanywhere-Verbindungszeichenfolge }
CREATE SERVER Servername CLASS 'DIRECTORY' USING USING-Zeichenfolge
USING-Zeichenfolge : 'ROOT = Pfad [ ;SUBDIRS = n ] [ ;READONLY = { YES | NO } ]'
CLASS-Klausel Gibt die Serverklasse an, die Sie für eine Fernverbindung verwenden wollen. Serverklassen enthalten detaillierte Informationen über die Serverfähigkeiten. Die DIRECTORY-Klasse wird in Syntax 2 verwendet, um auf ein Verzeichnis auf dem lokalen Computer zuzugreifen.
USING-Klausel Die USING-Klausel in Syntax 1 stellt eine Verbindungszeichenfolge für den Datenbankserver bereit. Die entsprechende Verbindungszeichenfolge hängt vom verwendeten Treiber ab, der wiederum von der Serverklasse-Zeichenfolge abhängt.
Wenn eine ODBC-basierte Serverklasse verwendet wird, ist die USING-Klausel der Datenquellenname. Der Datenquellenname ist der Name der ODBC-Datenquelle.
Bei SQL Anywhere-Fremdservern (SAODBC-Serverklassen) kann der Parameter Verbindungsinformation-Zeichenfolge jede gültige SQL Anywhere-Verbindungszeichenfolge sein. Sie können jeden beliebigen SQL Anywhere-Verbindungsparameter verwenden. Wenn Sie z.B. Verbindungsprobleme haben, können Sie einen LOG-Verbindungsparameter zur Protokollierung des Verbindungsversuchs aufnehmen.
Weitere Informationen zu SQL Anywhere-Verbindungszeichenfolgen finden Sie unter Verbindungsparameter.
Auf Unix-Plattformen müssen Sie auch den ODBC-Treibermanager referenzieren. Benutzen Sie beispielsweise die mitgelieferten iAnywhere Solutions ODBC-Treiber mit der folgenden Syntax:
USING 'driver=SQL Anywhere 11;dsn=my_dsn' |
Wenn eine JDBC-basierte Serverklasse verwendet wird, ist die USING-Klausel Hostname:Portnummer [/DB-Name]. Hierbei gilt Folgendes:
Hostname Der Computer, auf dem der Fremdserver läuft
Portnummer Die TCP/IP-Portnummer, auf der der Fremdserver auf Verbindungen wartet. Die Standard-Portnummer für SQL Anywhere ist 2638.
DB-Name Wenn Sie für SQL Anywhere-Fremdserver keinen DB-Namen angeben, wird die Standarddatenbank verwendet. Für Adaptive Server Enterprise ist die master-Datenbank der Standard. Wenn Sie DB-Name nicht verwenden, können Sie eine andere Datenbank auf andere Arten angeben (z.B. in der FORWARD TO-Anweisung).
In Syntax 2 gibt die USING-Klausel die folgenden Werte für das lokale Verzeichnis an:
ROOT-Klausel Der Pfad, der relativ zum Datenbankserver ist und das Stammverzeichnis der Verzeichniszugriffsklasse bildet. Wenn Sie eine Proxytabelle unter Verwendung des Namens des Verzeichniszugriffsservers erstellen, ist die Proxytabelle relativ zu diesem Stammpfad.
SUBDIRS-Klausel Eine Zahl zwischen 0 und 10, die die Anzahl der Verzeichnisebenen innerhalb des Stammverzeichnisses darstellt, auf die der Datenbankserver zugreifen kann. Wenn SUBDIRS weggelassen oder auf 0 gesetzt wird, sind nur die Dateien im Stammverzeichnis über den Verzeichniszugriffsserver zugreifbar. Sie können Proxytabellen für jedes über diesen Server verfügbare Verzeichnis oder Unterverzeichnis erstellen.
READONLY-Klausel Gibt an, ob die Dateien, auf die über den Verzeichniszugriffsserver zugegriffen wird, geändert werden können. Standardmäßig ist dieser Wert auf NO gesetzt.
CREATEDIRS-Klausel Gibt an, ob Verzeichnisse mithilfe des Verzeichniszugriffsservers erstellt werden können. Standardmäßig ist dieser Wert auf NO gesetzt.
Wenn Sie einen Fremdserver erstellen, wird er der ISYSSERVER-Systemtabelle hinzugefügt.
Syntax 1 Die CREATE SERVER-Anweisung definiert einen Fremdserver.
Weitere Informationen zu Serverklassen und zur Konfiguration eines Servers finden Sie unter Serverklassen für den Ferndatenzugriff.
Syntax 2 Mit der Anweisung CREATE SERVER können Sie einen Verzeichniszugriffsserver erstellen, mit dem Sie auf die lokale Verzeichnisstruktur auf dem Computer zugreifen können, auf dem der Datenbankserver läuft. Sie müssen ein externes Login für jeden Datenbankbenutzer erstellen, der den Verzeichniszugriffsserver verwenden wird. Unter Unix läuft der Datenbankserver als ein spezifischer Benutzer, daher basieren Dateiberechtigungen auf den Berechtigungen, die dem Benutzer des Datenbankservers erteilt wurden.
Weitere Hinweise zu Verzeichniszugriffsservern finden Sie unter Verzeichniszugriffsserver benutzen.
Zum Ausführen dieses Befehls ist eine DBA-Berechtigung erforderlich.
Unter Windows Mobile nicht unterstützt.
Automatisches Festschreiben (Autocommit).
SQL/2003 Erweiterung des Herstellers
Mit dem folgenden Beispiel wird ein SQL Anywhere-Fremdserver namens testsa auf dem Computer namens apple erstellt, der an der Portnummer 2638 auf Verbindungen wartet:
CREATE SERVER testsa CLASS 'SAJDBC' USING 'apple:2638'; |
Mit dem folgenden Beispiel wird ein Fremdserver für den JDBC-basierten Adaptive Server ase_prod erstellt. Sein Computername ist banana und die Portnummer lautet 3025.
CREATE SERVER ase_prod CLASS 'asejdbc' USING 'banana:3025'; |
Mit dem folgenden Beispiel wird ein Fremdserver für den Oracle-Server namens oracle723 erstellt. Sein ODBC-Datenquellenname ist oracle723.
CREATE SERVER oracle723 CLASS 'oraodbc' USING 'oracle723'; |
Das folgende Beispiel erstellt einen Verzeichniszugriffsserver, der nur auf Dateien im Verzeichnis c:\temp zugreift:
CREATE SERVER diskserver0 CLASS 'directory' USING 'root=c:\temp'; CREATE EXTERNLOGIN DBA TO diskserver0; CREATE EXISTING TABLE diskdir0 AT 'diskserver0;;;.'; -- Get a list of those files. SELECT permissions, file_name, size FROM diskdir0; |
Das folgende Beispiel erstellt einen Verzeichniszugriffsserver, der neun Verzeichnisebenen sieht:
-- Create a directory server that sees 9 levels of directories. CREATE SERVER diskserver9 CLASS 'directory' USING 'ROOT=c:\temp;SUBDIRS=9'; CREATE EXTERNLOGIN DBA TO diskserver9; CREATE EXISTING TABLE diskdir9 AT 'diskserver9;;;.'; |
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 |