下图说明本地数据库服务器上的代理表映射到了远程服务器 RemoteSA 上 SQL Anywhere 示例数据库中的远程表 Employees 和 Departments。
您可以在不同 SQL Anywhere 数据库上的表之间使用连接。下面是一个简单的示例,该示例只使用一个数据库来说明这些原则。
创建一个名为 empty.db 的新数据库。
此数据库未保存任何数据。它只用来定义远程对象和访问 SQL Anywhere 示例数据库。
启动运行 empty.db 的数据库服务器。您可以使用以下命令行完成此步骤:
dbsrv12 empty |
从 Interactive SQL 以用户 DBA 身份连接到 empty.db。
在新数据库中,创建一个名为 RemoteSA 的远程服务器。其服务器类为 saodbc,连接字符串是指 SQL Anywhere 12 Demo ODBC 数据源:
CREATE SERVER RemoteSA CLASS 'saodbc' USING 'SQL Anywhere 12 Demo'; |
在本示例中,您在远程数据库和本地数据库上使用相同的用户 ID 和口令,因此不需要外部登录。
有时,连接远程服务器上的数据库时必须提供用户 ID 和口令。在新数据库中,您能够创建到远程服务器的外部登录。在本例中,为简单起见,本地登录名和远程用户 ID 均为 DBA:
CREATE EXTERNLOGIN DBA TO RemoteSA REMOTE LOGIN DBA IDENTIFIED BY sql; |
定义 p_Employees 代理表:
CREATE EXISTING TABLE p_Employees AT 'RemoteSA..GROUPO.Employees'; |
定义 p_Departments 代理表:
CREATE EXISTING TABLE p_Departments AT 'RemoteSA..GROUPO.Departments'; |
在 SELECT 语句中使用代理表执行连接。
SELECT GivenName, Surname, DepartmentName FROM p_Employees JOIN p_Departments ON p_Employees.DepartmentID = p_Departments.DepartmentID ORDER BY Surname; |
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |