当调用客户端“代理”上的某种方法时,服务器上的实际程序将执行该方法。在此步骤中,您将在服务器上执行一个查询。
A 部分 如果未在本教程中使用 RDSServer.DataFactory,那么执行本步骤最方便的途径是使用 RDS.DataControl 对象。RDS.DataControl 将上一步(创建代理)和本步骤(发出查询)结合起来。
设置 RDS.DataControl 对象的 Server 属性以标识实例化服务器程序的位置;设置 Connect 属性以指定访问数据源的连接字符串;设置 SQL 属性以指定查询命令文本。然后发出 Refresh 方法,使服务器程序连接到数据源、检索查询指定的行以及将 Recordset 对象返回到客户端。
本教程不使用 RDS.DataControl,但如果使用 RDS.DataControl,其形式如下:
Sub RDSTutorial2A()
Dim DC as New RDS.DataControl
DC.Server = "http://yourServer"
DC.Connect = "DSN=Pubs"
DC.SQL = "SELECT * FROM Authors"
DC.Refresh
...
本教程也不通过 ADO 对象调用 RDS,但是如果调用 RDS,其形式如下:
Dim rs as New ADODB.Recordset
rs.Open "SELECT * FROM Authors", "Provider=MS Remote;Data Source=Pubs;Remote Server=http://YourServer"
本主题属于microsoft官方文档。
远程数据访问的解决方案
问题
ADO 使应用程序能够直接访问和修改数据源(有时称为双层系统)。例如,如果连接是到包含用户数据的数据源,那么它是双层系统中的一个直接连接。
但是,有时也需要通过 Microsoft Internet Information Services (IIS) 这样的媒介间接访问数据源。这种方案有时称为三层系统。IIS 是客户端/服务器系统,可帮助本地或客户端应用程序通过 Internet 或 Intranet 高效地调用远程或服务器程序。服务器程序可以访问数据源,并有选择地处理所获得的数据。
例如,Intranet Web 页包含连接到 IIS 的应用程序,该应用程序是用 Microsoft Visual Basic Scripting Edition (VBScript) 编写的。IIS 将依次连接到实际数据源,检索数据,以某种方式处理数据,然后将处理后的信息返回到应用程序。
在此范例中,应用程序并未直接连接到数据源,而是通过 IIS 连接到数据源。并且,IIS 通过 ADO 访问数据。
注意 客户端/服务器应用程序无须基于 Internet 或 Intranet(即基于 Web),它可以仅由局域网上的已编译程序组成。但通常是基于 Web 的应用程序。
因为某些可视控件(如网格、复选框或列表)可能会使用返回的信息,所以返回的信息必须易于被可视控件使用。
用户需要的是简单而有效的应用程序编程接口,该接口支持三层系统,并能够象在双层系统上检索一样易于返回信息。远程数据服务 (RDS) 便是这样的接口。
解决方案