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。

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