Microsoft OLE DB Remoting Provider 允许在客户端机器上的本地用户调用远程计算机上的数据提供者。如果您是远程计算机上的本地用户,可指定远程计算机的数据提供者参数。然后指定由远程数据提供者使用的参数来访问远程计算机。最终结果是使您象本地用户一样访问远程计算机。

提供者关键字

要调用 OLE DB Remoting Provider,请在连接字符串中指定如下的关键字和值。(注意提供者名称中的空格。)

"Provider=MS Remote"

其他关键字

当调用该服务提供者时,将涉及如下关键字。

关键字

说明

Data Source

指定远程数据源的名称。它将被传递到 OLE DB Remoting Provider 进行处理。

该关键字等同于 RDS.DataControl 对象 Connect 属性。

 

动态属性

当调用该服务提供者时,会将如下动态属性添加到 Connection 对象的 Properties 集合中。

动态属性名称

说明

DFMode

指示 DataFactory Mode。该字符串指定服务器上所需的 DataFactory 对象版本。在打开请求特定版本的 DataFactory 的连接之前,请设置该属性。如果无法得到请求的版本,将尝试使用以前版本。如果没有以前版本,将出现错误。在连接之后,该属性是只读的。

可以是下列有效字符串值:

?“21”—2.1 版(默认)

 

?“20”—2.0 版

 

?“15”—1.5 版

Current DFMode

指示服务器上 DataFactory 的实际版本号。检查该属性以便查看在 DFMode 属性中请求的版本是否可以得到。

可以是如下可用的 Long 整数值中的一个:

?21—2.1 版(默认)

 

?20—2.0 版

 

?15—1.5 版

Handler

字符串值。指示服务器端用于扩展 RDSServer.DataFactory 函数的自定义程序(即处理程序)的名称,以及处理程序所使用的任意参数,各项使用逗号分隔(",")。

Internet Timeout

指示等待请求传输到服务器并返回所需的最长时间。(按毫秒计算,默认值是 5 分钟。)

Remote Provider

指示用于远程服务器的数据提供者的名称。

Remote Server

指示要用于该连接的服务器名和通信协议。该属性等同于 RDS.DataControl 对象 Server 属性。

 

通过在连接字符串中将可写入动态属性的名称指定为关键字,也可以设置可写入动态属性。例如,通过以下指定将 Internet Timeout 动态属性设置为 5 秒钟:

Dim cn as New ADODB.Connection

cn.Open "Provider=MS Remote;Internet Timeout=5000"

通过将动态属性的名称指定为 Properties 属性的索引,也可设置或检索动态属性。例如,获得和打印 Internet Timeout 动态属性的当前值,然后设置新值,如:

Debug.Print cn.Properties("Internet Timeout")

cn.Properties("Internet Timeout") = 5000

说明

在 ADO 2.0 中,OLE DB Remoting Provider 仅能在 Recordset 对象 Open 方法的 ActiveConnection 参数中指定。从 ADO 2.1 开始,也可以在 Connection 对象 Open 方法的 ConnectionString 参数中指定。

没有 RDS.DataControl 对象的 SQL 属性的等同设置。由 Recordset 对象 Open 方法 Source 参数代替。

举例

这个例子在称为 YourServer 的服务器上,执行对公用数据库创建者表的查询。在 Connection 对象的 Open 方法中提供远程数据源和远程服务器的名称,并在 Recordset 对象的 Open 方法中指定 SQL 查询。Recordset 对象将被返回、编辑、并用来更新数据源。

Dim rs as New ADODB.Recordset

Dim cn as New ADODB.Connection

cn.Open    "Provider=MS Remote;Data Source=pubs;" & _

         "Remote Server=http://YourServer"

rs.Open "SELECT * FROM authors", cn

...                        'Edit the recordset

rs.UpdateBatch               'Equivalent of RDS SubmitChanges

...