1. RDA简介
------------
Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile) 中的
远程数据访问 (RDA) 允许应用程序从远程 SQL Server 数据库表中访问数据,
并将数据存储到本地 SQL Server Mobile 数据库表中。
随后,应用程序可以读取和更新本地 SQL Server Mobile 数据库表。
SQL Server Mobile 可以选择跟踪对本地表所做的所有更改。
稍后,应用程序可以将本地表中更改的记录更新回 SQL Server 表中。
在 SQL Server Mobile 中,
从 SQL Server 表向本地 SQL Server Mobile 表传播数据称为请求数据。
将本地 SQL Server Mobile 表中所做的更改传播回 SQL Server 表称为推送数据。
应用程序还可以使用 RDA 来提交 SQL 语句,
在远程 SQL Server 数据库上执行。
例如,应用程序可以提交 SQL 语句,向 SQL Server 表中插入、更新或删除记录。
应用程序可以调用任何不返回记录集的 SQL 语句,包括远程系统上的存储过程。
当无需 SQL Server Mobile 合并复制的完整功能(例如解决冲突)时,RDA 较为适用。
2. 需求及配置
--------------
a. IIS
在通过 HTTP 使用复制或远程数据访问 (RDA)
访问 Microsoft SQL Server 中的数据库之前,
必须先设置虚拟目录,并配置合适的 NTFS 权限。
SQL Server 2005 Mobile Edition (SQL Server Mobile)
提供了一个名为“配置 Web 同步向导”的向导
来创建和管理虚拟目录及 NTFS 权限。
b. SQL Server
若要使用远程数据访问 (RDA),
必须基于 Microsoft Internet 信息服务 (IIS) 和 SQL Server 身份验证的配置方式,
授予对 Microsoft SQL Server 数据库的访问权限。
通过编程方式实施 RDA 可以完成此步骤。
IIS 身份验证模式 SQL Server 身份验证模式 必须授予数据库访问权限的用户
匿名访问 集成 Windows 身份验证 computername\IUSR_computername
或所配置的 IIS 匿名用户帐户
基本身份验证 集成 Windows 身份验证 IIS 客户端的用户或组。
集成 Windows 身份验证 集成 Windows 身份验证 IIS 客户端的用户或组。
只有当 SQL Server 和 IIS 运行于
同一台计算机上时才支持此配置。
匿名访问、 SQL Server 身份验证 在 RDA 对象中的 Pull、Push
基本身份验证 或 SubmitSQL 方法
或集成 Windows 身份验证 的 SQL Server OLEDBConnectionString 参数中
指定的用户。
3. RDA 对象方法
---------------
Pull 方法 (RDA)
从远程 Microsoft SQL Server 数据库检索数据,
并将该数据存储在位于本地 SQL Server Mobile 数据库内的单个表中。
Push 方法 (RDA)
从本地跟踪的 SQL Server Mobile 表向原始的远程 SQL Server 表发回更改。
SubmitSQL 方法 (RDA)
提交 SQL 语句,以在远程 SQL Server 数据库上执行。
这三个 RDA 对象方法都包含 OLEDBConnectionString 属性。
该属性提供了连接到远程 SQL Server 数据库时使用的 OLEDB 连接字符串。
OLEDB 连接字符串提供连接信息,其中包括安全信息。
若要使用 Push 方法,应用程序必须已经通过调用 RDA_TRACKOPTION 参数
设置为 TRAC
创建了本地 SQL Server Mobile 表。