クライアントアプリケーション側から見ると、接続している SQL Anywhere 内にすべてのテーブルがあるかのように見えます。リモートテーブルに関わるクエリが実行されると、内部では対象となるデータソースを割り出し、外部にあるそのデータソースにアクセスしてデータを取り出します。
リモートテーブルのデータにアクセスするには、次の設定を行う必要があります。
リモートオブジェクトが置かれるリモートサーバを定義します。これにはサーバのクラスとリモートサーバの場所が含まれます。これを行うには CREATE SERVER 文を使用します。
リモートサーバ上のデータベースへのアクセスに必要なクレデンシャルが、接続されているデータベースへのアクセスに必要なクレデンシャルと異なる場合は、リモートサーバのユーザログイン情報を定義します。これを行うには CREATE EXTERNLOGIN 文を使用します。
プロキシテーブルの定義を作成します。これによってリモートテーブルに対するローカルプロキシテーブルのマッピングを指定します。リモートテーブルが置かれているサーバ、リモートテーブルのデータベース名、所有者名、テーブル名、カラム名を指定します。これを行うには 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 では、この制限はありません。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |