远程数据访问的工作机制

远程数据访问 (RDA) 为应用程序提供了一种用于访问位于远程 Microsoft SQL Server 2005、SQL Server 2008 或 SQL Server 2008 R2 数据库中的数据的简单方法。数据传播首先在客户端启动。表中的数据从服务器请求到客户端。然后,在客户端所做的更改可以从客户端推送到服务器。若要使用来自服务器的新更改更新客户端,必须删除表,再重新从服务器请求表。

术语

定义

请求

从 SQL Server 数据库中提取数据,并在 SQL Server Compact 3.5 数据库中存储该数据。

推送

从 SQL Server Compact 3.5 数据库表向现有的 SQL Server 数据库发送更改。

应用程序可以提供能够返回行集的 SQL 查询。所得到的行集将传输给设备,在这里它将存储在表中。可以选择是否跟踪应用程序所做的所有更改。在应用程序请求时,经过更新的行将发送回服务器,在该服务器中,这些更新的行将应用于 SQL Server 数据库。所得到的行集可以在水平和垂直两个方向上进行筛选,但筛选定义是在来自设备的 SQL 查询中指定的。

RDA 不需要在服务器上进行配置。因此,它不会影响服务器数据库的架构。在业务要求规定不能更改服务器数据架构的情况下,它是一个极佳的解决方案。客户端必须通过设备上运行的应用程序针对 RDA 单独进行配置。因此,如果应用程序服务的客户端不多,或者在应用程序中管理连接数据所需的客户端代码较少,此连接解决方案将是最佳的。

对于因为错误而未应用于服务器的行,RDA 不支持冲突解决程序对其进行处理。设备上的应用程序必须包含错误处理代码。您可以有选择地将错误记录在设备上 SQL Server Compact 3.5 数据库内的错误表中。另外,RDA 不能检测典型的冲突,例如数据被两个不同用户更改的情形。如果发生冲突,将应用最后一次更新。因此,RDA 应当在完全分区的应用程序中使用,在这类程序中,用户不会更新相同的数据。