步骤 2:调用服务器程序(RDS 教程)
在客户端代理上调用方法时,服务器上的实际程序会执行该方法。 在此步骤中,你将在服务器上执行查询。
重要
从 Windows 8 和 Windows Server 2012 开始,Windows 操作系统不再包含 RDS 服务器组件(有关更多详细信息,请参阅 Windows 8 和 Windows Server 2012 兼容性实用手册)。 Windows 的未来版本中将移除 RDS 客户端组件。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 使用 RDS 的应用程序应迁移到 WCF 数据服务。
A 部分 如果你在本教程中未使用 RDSServer.DataFactory,则执行此步骤的最便捷方法是使用 RDS.DataControl 对象. RDS.DataControl 将创建代理的上一步与发出查询的这一步结合起来。
设置 RDS.DataControl 对象 Server 属性以标识应在何处实例化服务器程序;设置 Connect 属性指定连接字符串以访问数据源;设置 SQL 属性以指定查询命令文本。 然后发出 Refresh 方法,使服务器程序连接到数据源,检索查询指定的行,并将 Recordset 对象返回给客户端。
本教程不使用 RDS.DataControl,但如果使用了,应如下所示:
Sub RDSTutorial2A()
Dim DC as New RDS.DataControl
DC.Server = "https://yourServer"
DC.Connect = "DSN=Pubs"
DC.SQL = "SELECT * FROM Authors"
DC.Refresh
...
本教程也没有使用 ADO 对象调用 RDS,但如果使用了,应如下所示:
Dim rs as New ADODB.Recordset
rs.Open "SELECT * FROM Authors","Provider=MS Remote;Data Source=Pubs;" & _
"Remote Server=https://yourServer;Remote Provider=SQLOLEDB;"
B 部分 执行此步骤的一般方法是调用 RDSServer.DataFactory 对象 Query 方法。 该方法采用一个连接字符串,用于连接到数据源,以及一个命令文本,用于指定要从数据源返回的行。
本教程使用 DataFactory 对象 Query 方法:
Sub RDSTutorial2B()
Dim DS as New RDS.DataSpace
Dim DF
Dim RS as ADODB.Recordset
Set DF = DS.CreateObject("RDSServer.DataFactory", "https://yourServer")
Set RS = DF.Query ("DSN=Pubs", "SELECT * FROM Authors")
...