基本 RDS 编程模型
重要
从 Windows 8 和 Windows Server 2012 开始,RDS 服务器组件不再包含在 Windows 操作系统中(有关详细信息,请参阅 Windows 8 和 Windows Server 2012 兼容性指南)。 RDS 客户端组件将在将来的 Windows 版本中删除。 避免在新开发工作中使用此功能,并计划修改当前使用此功能的应用程序。 使用 RDS 的应用程序应迁移到 WCF 数据服务。
RDS 解决了以下环境中存在的应用程序:客户端应用程序指定将在服务器上执行的程序以及返回所需信息所需的参数。 服务器上调用的程序获取对指定数据源的访问权限、检索信息、选择性地处理数据,然后以可轻松使用的表单将生成的信息返回到客户端应用程序。 RDS 提供了执行以下操作序列的方法:
指定要在服务器上调用的程序,并从客户端获取引用它的方法。 (此引用有时称为 代理。它表示远程服务器程序。客户端应用程序将“调用”代理,就像它是本地程序一样,但它实际上调用远程服务器程序。
调用服务器程序。 将参数传递给标识数据源的服务器程序以及要发出的命令。 (服务器程序实际上使用 ADO 来获取对数据源的访问权限。ADO 与某个给定参数建立连接,然后发出另一个参数中指定的命令。
服务器程序从数据源获取 Recordset 对象。 (可选)记录集 对象在服务器上进行处理。
服务器程序将最终 Recordset 对象返回到客户端应用程序。
在客户端上,Recordset 对象被转换为可视化控件可以轻松使用的表单。
对 Recordset 对象所做的任何修改将发送回服务器程序,后者使用这些修改来更新数据源。
此编程模型包含某些便利功能。 如果不需要复杂的服务器程序来访问数据源,并且提供所需的连接和命令参数,RDS 将自动使用简单的默认服务器程序检索指定的数据。
如果需要更复杂的处理,可以指定自己的自定义服务器程序。 例如,由于自定义服务器程序具有 ADO 的全部功能,因此它可以连接到多个不同的数据源,以某种复杂方式合并其数据,然后将一个简单的处理结果返回到客户端应用程序。
最后,如果你的需求介于两者之间,ADO 现在支持自定义默认服务器程序的行为。