远程数据访问体系结构

远程数据访问 (RDA) 使用 Microsoft SQL Server Compact 3.5 的三个组件:SQL Server Compact 3.5 数据库引擎、SQL Server Compact 3.5 客户端代理和 SQL Server Compact 3.5 服务器代理。

RDA 使用 Microsoft Internet 信息服务 (IIS) 作为服务器上的 SQL Server 数据库和设备上的 SQL Server Compact 3.5 数据库之间的通信机制。SQL Server Compact 3.5数据库引擎、SQL Server Compact 3.5 客户端代理和 SQL Server Compact 3.5 服务器代理协同工作才可以完成 RDA,如下面的关系图所示。 

远程数据访问 (RDA) 体系结构

SQL Server Compact 3.5 数据库引擎

SQL Server Compact 3.5数据库引擎 可对设备上的 SQL Server 数据存储区进行管理。对于跟踪的请求操作,数据库引擎 将通过维护每个记录的少量更改跟踪信息,跟踪所有插入、更新或删除的数据库记录。如果 SQL Server 数据存在索引,RDA 还支持为本地数据创建索引。

SQL Server Compact 3.5 服务器代理

位于设备上的 SQL Server Compact 3.5 客户端代理是用于 RDA 的主要组件。客户端代理可以实现 RDA 对象接口。应用程序通过调用此接口以编程方式控制 RDA。

下表说明了 SQL Server Compact 3.5 客户端代理对 RDA 对象方法调用的响应操作:

方法

操作

Pull

将请求通过 HTTP 转发给 SQL Server Compact 3.5 服务器代理。SQL Server Compact 3.5 客户端代理从 SQL Server 接收到记录集后,会将记录集存储在 SQL Server Compact 3.5 数据库中。

Push

从 SQL Server Compact 3.5 数据库中提取所有插入、更新和删除的记录,并通过 HTTP 将这些记录发送到 SQL Server Compact 3.5 服务器代理。

SubmitSQL

通过 HTTP 将指定的 SQL 请求转发到 SQL Server Compact 3.5 服务器代理。

SQL Server Compact 3.5 服务器代理

位于运行 IIS 的计算机上的 SQL Server Compact 3.5 服务器代理可处理 SQL Server Compact 3.5 客户端代理发出的 HTTP 请求。它使用临时消息文件(*.in 和 *.out)来管理 SQL Server 和 SQL Server Compact 3.5 之间的数据交换。

下表说明了 SQL Server Compact 3.5 服务器代理对 RDA 对象方法调用的响应操作:

方法

操作

Pull

从 SQL Server Compact 3.5 客户端代理接收请求,通过 OLE DB Provider for SQL Server 连接到 SQL Server,再调用客户端的 SQL 语句。然后,SQL Server Compact 3.5 服务器代理通过 HTTP 将结果记录集返回到 SQL Server Compact 3.5 客户端代理。

Push

从 SQL Server Compact 3.5 客户端代理接收所有插入、更新和删除的记录,通过 OLE DB 连接到 SQL Server,插入、更新或删除 SQL Server 数据库中的记录。如果出现错误,SQL Server Compact 3.5 服务器代理将通过 HTTP 向 SQL Server Compact 3.5 客户端代理报告错误。

SubmitSQL

通过 HTTP 从 SQL Server Compact 3.5 客户端代理接收指定的 SQL 请求,通过 OLE DB 连接到 SQL Server,再调用客户端的 SQL 语句。如果出现错误,SQL Server Compact 3.5 服务器代理将通过 HTTP 向 SQL Server Compact 3.5 客户端代理报告错误。