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

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ SQL の使用法 » リモートデータアクセス » プロキシテーブル

 

プロキシテーブルの作成 (SQL の場合)

Interactive SQL で CREATE TABLE 文または CREATE EXISTING TABLE 文を使用して、プロキシテーブルを作成できます。

前提条件

ユーザ本人が所有するプロキシテーブルを作成するには、CREATE PROXY TABLE システム権限が必要です。他のユーザが所有するプロキシテーブルを作成するには、CREATE ANY TABLE または CREATE ANY OBJECT のシステム権限が必要です。

内容と備考

AT 句とともに CREATE TABLE 文を使用すると、リモートサーバに新しいテーブルを作成し、そのテーブルに対するプロキシテーブルをローカルサーバに作成します。カラムは SQL Anywhere のデータ型を使用して定義します。SQL Anywhere は、リモートサーバのネイティブの型にデータを自動的に変換します。

CREATE TABLE 文を使用してローカルとリモートの両方のテーブルを作成してから、引き続き DROP TABLE 文を使用してプロキシテーブルを削除すると、リモートテーブルも削除されます。ただし、DROP TABLE 文を使用して、CREATE EXISTING TABLE 文を使用して作成されたプロキシテーブルを削除できます。この場合、リモートテーブル名は削除されません。

CREATE EXISTING TABLE 文は、リモートサーバ上にある既存のテーブルにマッピングするプロキシテーブルを作成します。SQL Anywhere は、リモートロケーションのオブジェクトからカラム属性とインデックス情報を導出します。

 ♦ CREATE EXISTING TABLE 文を使用したプロキシテーブルの作成
  1. ホストデータベースに接続します。

  2. CREATE EXISTING TABLE 文を実行します。

結果

プロキシテーブルが作成されます。

サーバ RemoteSA のリモートテーブル Employees にマッピングするローカルサーバ上に、p_Employees というプロキシテーブルを作成するには、次の構文を使用します。

CREATE EXISTING TABLE p_Employees
AT 'RemoteSA..GROUPO.Employees';
p_Employees というプロキシテーブルは、ローカルサーバ上にあり、サーバ RemoteSA 上のテーブル Employees にマッピングされています。

次の文は、プロキシテーブル a1 を Microsoft Access ファイル mydbfile.mdb にマッピングします。AT 句では、セミコロン (;) をデリミタとして使用しています。Microsoft Access 用に定義されているサーバの名前は access です。

CREATE EXISTING TABLE a1
AT 'access;d:\mydbfile.mdb;;a1';

次の文は、リモートサーバ RemoteSA に Employees というテーブルを作成し、リモートテーブルにマッピングする Members というプロキシテーブルを作成します。

CREATE TABLE Members
( membership_id INTEGER NOT NULL,
member_name CHAR( 30 ) NOT NULL,
office_held CHAR( 20 ) NULL )
AT 'RemoteSA..GROUPO.Employees';

 参照