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 Anywhere サーバでは、複数のローカル・データベースを同時に稼働できます。他のローカル SQL Anywhere データベース内のテーブルをリモート・テーブルとして定義することによって、データベース間のジョインを実行できます。

複数のデータベースの指定の詳細については、CREATE SERVER 文の USING パラメータを参照してください。

データベース db1 を使用しているときに、データベース db2 内のテーブルのデータにアクセスするとします。この場合は、データベース db2 のテーブルを示すプロキシ・テーブル定義を設定します。RemoteSA という名前の SQL Anywhere サーバ上で、db1、db2、db3 の 3 つのデータベースが使用可能だとします。

  1. ODBC を使用している場合、アクセスするデータベースのそれぞれに ODBC データ・ソース名を作成します。

  2. 使用しているデータベースのいずれかに接続します。たとえば db1 に接続します。

  3. アクセスするその他のローカル・データベースのそれぞれに、CREATE SERVER 文を実行します。これによって、SQL Anywhere サーバへの「ループバック」接続が設定されます。

    CREATE SERVER remote_db2
    CLASS 'saodbc'
    USING 'RemoteSA_db2';
    CREATE SERVER remote_db3
    CLASS 'saodbc'
    USING 'RemoteSA_db3';

    JDBC を使用する場合は次のようになります。

    CREATE SERVER remote_db2
    CLASS 'sajdbc'
    USING 'mypc1:2638/db2';
    CREATE SERVER remote_db3
    CLASS 'sajdbc'
    USING 'mypc1:2638/db3';
  4. アクセスする他のデータベースにあるテーブルに CREATE EXISTING TABLE 文を実行して、プロキシ・テーブルの定義を作成します。

    CREATE EXISTING TABLE Employees
    AT 'remote_db2...Employees';