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 Anywhere 内にすべてのテーブルがあるかのように見えます。リモートテーブルに関わるクエリが実行されると、内部では対象となるデータソースを割り出し、外部にあるそのデータソースにアクセスしてデータを取り出します。

リモートテーブルのデータにアクセスするには、次の設定を行う必要があります。

  1. リモートオブジェクトが置かれるリモートサーバを定義します。これにはサーバのクラスとリモートサーバの場所が含まれます。これを行うには CREATE SERVER 文を使用します。

  2. リモートサーバ上のデータベースへのアクセスに必要なクレデンシャルが、接続されているデータベースへのアクセスに必要なクレデンシャルと異なる場合は、リモートサーバのユーザログイン情報を定義します。これを行うには CREATE EXTERNLOGIN 文を使用します。

  3. プロキシテーブルの定義を作成します。これによってリモートテーブルに対するローカルプロキシテーブルのマッピングを指定します。リモートテーブルが置かれているサーバ、リモートテーブルのデータベース名、所有者名、テーブル名、カラム名を指定します。これを行うには CREATE EXISTING TABLE 文を使用します。また、CREATE TABLE 文を使用しても、リモートサーバで新しいテーブルを作成できます。

リモートサーバの定義、外部ログイン、プロキシテーブルのマッピングを管理するには、Sybase Central を使用するか、Interactive SQL などのツールを使用して SQL 文を実行します。

警告

Microsoft Access、Microsoft SQL Server、Sybase Adaptive Server Enterprise などの一部のリモートサーバでは、COMMIT や ROLLBACK を実行してもカーソルは保存されません。このようなリモートサーバでは、Sybase Central の [データ] タブを使用してプロキシテーブルの内容を表示したり変更することはできません。ただし、オートコミット機能が無効 (Interactive SQL のデフォルトの動作) になっている場合は、Interactive SQL を使用してプロキシテーブルのデータを表示および編集できます。Oracle Database、IBM DB2、SQL Anywhere などのその他の RDBMS では、この制限はありません。