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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 文 » SQL 文 (A ~ D)

 

CREATE SERVER 文

この文を使用して、リモート・サーバを作成します。

構文 1
CREATE SERVER server-name
CLASS server-class-string
USING connection-info-string
[ READ ONLY ]
server-class-string :
'SAODBC' 
| 'ASEODBC' 
| 'DB2ODBC' 
| 'MSSODBC'
| 'ORAODBC' 
| 'MSACCESSODBC' 
| 'MYSQLODBC' 
| 'ULODBC' 
| 'ADSODBC' 
| 'ODBC' 
| 'SAJDBC' 
| 'ASEJDBC'
connection-info-string :
  { host-name:port-number [/dbname ] | data-source-name | sqlanywhere-connection-string }
構文 2
CREATE SERVER server-name
CLASS 'DIRECTORY'
USING using-string
using-string :
'ROOT = path
[ ;SUBDIRS = n ]
[ ;READONLY = { YES | NO } ]'
パラメータ
  • CLASS 句   リモート接続に使用するサーバ・クラスを指定します。サーバ・クラスには、詳細なサーバ機能情報が入っています。構文 2 では DIRECTORY クラスを使用してローカル・コンピュータのディレクトリにアクセスしています。

  • USING 句   構文 1 では、USING 句によってデータベース・サーバに接続文字列を提示します。適切な接続文字列は使用されるドライバによって決まり、ドライバは server-class-string によって決まります。

    ODBC ベースのサーバ・クラスを使用する場合、USING 句は data-source-name になります。data-source-name は ODBC データ・ソース名です。

    SQL Anywhere リモート・サーバ (SAODBC サーバ・クラス) の場合、connection-info-string パラメータには任意の有効な SQL Anywhere 接続文字列を指定できます。任意の SQL Anywhere 接続パラメータを使用できます。たとえば、接続に問題がある場合は、LOG 接続パラメータを含めて接続試行をトラブルシューティングできます。

    SQL Anywhere の接続文字列の詳細については、接続パラメータを参照してください。

    UNIX プラットフォームでは、ODBC ドライバ・マネージャも参照する必要があります。たとえば、指定された iAnywhere Solutions ODBC ドライバを使用すると、構文は次のようになります。

    USING 'driver=SQL Anywhere 11;dsn=my_dsn'

    JDBC ベースのサーバ・クラスを使用する場合、USING 句の形式は host-name:port-number [/dbname] となります。

    • host-name   リモート・サーバが稼働しているコンピュータ。

    • port-number   リモート・サーバが受信する TCP/IP ポート番号。SQL Anywhere のデフォルト・ポート番号は 2638 です。

    • dbname   SQL Anywhere リモート・サーバでは、dbname を指定しない場合、デフォルト・データベースが使用されます。Adaptive Server Enterprise の場合は、デフォルトが master データベースです。dbname を使用しない場合は、他の方法 (FORWARD TO 文など) を使って別のデータベースを指定します。

      構文 2 では、USING クラスでローカル・ディレクトリに次の値を指定しています。

  • ROOT 句   このパスはデータベース・サーバに対する相対パスであり、ディレクトリ・アクセス・クラスのルートです。ディレクトリ・アクセス・サーバ名を使用してプロキシ・テーブルを作成すると、プロキシ・テーブルのパスはこのルート・パスに対する相対パスになります。

  • SUBDIRS 句   データベース・サーバがアクセスできるルート内のディレクトリ・レベル数を表す 0 ~ 10 の数。SUBDIRS を省略したときまたは 0 に設定したときは、ディレクトリ・アクセス・サーバ経由でルート・ディレクトリのファイルのみにアクセスできます。ディレクトリ・アクセス・サーバ経由で使用できるディレクトリまたはサブディレクトリのいずれかにプロキシ・テーブルを作成できます。

  • READONLY 句   ディレクトリ・アクセス・サーバからアクセスするファイルを修正できるかどうかを指定します。デフォルトでは NO に設定されています。

  • CREATEDIRS 句   ディレクトリ・アクセス・サーバを使用してディレクトリを作成できるかどうかを指定します。デフォルトでは NO に設定されています。

備考

リモート・サーバを作成すると、ISYSSERVER システム・テーブルに追加されます。

構文 1   CREATE SERVER 文はリモート・サーバを定義します。

サーバ・クラスの詳細とサーバの設定方法については、リモート・データ・アクセスのサーバ・クラスを参照してください。

構文 2   CREATE SERVER 文を使用すると、データベース・サーバが稼働しているコンピュータのローカル・ディレクトリ構造にアクセスするディレクトリ・アクセス・サーバを作成できます。ディレクトリ・アクセス・サーバを使用する必要があるデータベース・ユーザごとに、外部ログインを作成する必要があります。UNIX では、データベース・サーバは特定のユーザ権限で実行されているため、ファイル・パーミッションはデータベース・サーバ・ユーザに付与されているパーミッションに基づきます。

ディレクトリ・アクセス・サーバの詳細については、ディレクトリ・アクセス・サーバの使用を参照してください。

パーミッション

このコマンドを実行するには、DBA 権限が必要です。

Windows Mobile ではサポートされません。

関連する動作

オートコミット。

参照
標準と互換性
  • SQL/2003   ベンダ拡張。

次の例は、コンピュータ apple にあり、ポート番号 2638 で受信している SQL Anywhere リモート・サーバ testsa を作成します。

CREATE SERVER testsa
CLASS 'SAJDBC'
USING 'apple:2638';

次の例は、JDBC ベースの Adaptive Server のリモート・サーバ ase_prod を作成します。このコンピュータ名は banana でポート番号は 3025 です。

CREATE SERVER ase_prod
CLASS 'asejdbc'
USING 'banana:3025';

次の例は、Oracle サーバ oracle723 のリモート・サーバを作成します。ODBC データ・ソース名は oracle723 です。

CREATE SERVER oracle723
CLASS 'oraodbc'
USING 'oracle723';

次の例は、ディレクトリ c:\temp 内のファイルのみを表示するディレクトリ・アクセス・サーバを作成します。

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;

次の例は、9 レベルのディレクトリを表示するディレクトリ・アクセス・サーバを作成します。

-- 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;;;.';