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 来查看和编辑这些代理表中的数据。其它 RDBMS(包括 Oracle 数据库、IBM DB2 和 SQL Anywhere)没有此限制。