Execute21 方法 (RDS)

执行请求并创建 ADO 记录集,以便在 ADO 2.1 中使用。

重要

从 Windows 8 和 Windows Server 2012 开始,Windows 操作系统不再包含 RDS 服务器组件(有关更多详细信息,请参阅 Windows 8 和 Windows Server 2012 兼容性实用手册)。 Windows 的未来版本中将移除 RDS 客户端组件。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 使用 RDS 的应用程序应迁移到 WCF 数据服务

语法

  
object.Execute21(ConnectionString As String, HandlerString As String, QueryString As String, lMarshalOptions As Long, Properties, TableId, lExecuteOptions As Long, pParameters)  

参数

ConnectionString
用于连接到 OLE DB 提供程序的字符串,将在该提供程序中发送请求以执行。 如果使用 HandlerString 指定了处理程序,可以编辑或替换连接字符串。

HandlerString
该字符串标识要用于此执行的处理程序。 字符串包含两个部分。 第一部分包含要使用的处理程序的名称 (ProgID)。 字符串的第二部分包含要传递给处理程序的参数。 对参数字符串的解释是特定于处理程序的。 这两部分由字符串中的第一个逗号分隔(尽管参数字符串可能包含额外的逗号)。 参数是可选的。

QueryString
连接字符串中标识的 OLE DB 提供程序支持的命令语言中的命令。 对于基于 SQL 的提供程序,它可能包含 Transact-SQL 命令语句,但对于非 SQL 提供程序(如 MSDataShape),这可能不是 Transact-SQL 查询语句。

此外,如果正在使用处理程序(强烈建议使用处理程序),处理程序可以更改或替换这里指定的值。 例如,处理程序通常将 QueryString 替换为其 .ini 文件中的查询字符串。 默认情况下使用 Msdfmap.ini 文件。

lMarshalOptions
用于在返回的行集/记录集上设置封送处理选项。

TableID
类型为 VT_EMPTY 或 VT_BSTR 的变体。 如果此值的类型为 VT_EMPTY,则忽略该值。 如果它的类型为 VT_BSTR,则使用此处指定的值通过 adCmdTableDirect 创建记录集,而 QueryString 参数将被忽略。

lExecuteOptions
执行选项的位掩码:

1=ReadOnly 将使用 adLockReadOnly 打开记录集。

2=NoBatch 将使用 adLockOptimistic 打开记录集。

4=AllParamInfoSupplied 调用方保证在 pParameters 中提供所有参数的参数信息。

8=GetInfo 查询的参数信息将从 OLE DB 提供程序获取,并在 pParameters 参数中返回。 不会执行查询,也不会返回记录集。

16=GetHiddenColumns 将使用 adLockBatchOptimistic 打开记录集,并且任何隐藏列都将包含在记录集中。

虽然 ReadOnly、NoBatch 和 GetHiddenColumns 是互斥的选项,但同时设置多个选项并不会出错。 如果设置了多个选项,则 GetHiddenColumns 优先于所有其他选项,其次是 ReadOnly。 如果未指定任何选项,则默认情况下,将使用 adLockBatchOptimistic 打开记录集,但记录集中不包含隐藏列。

pParameters
一个包含参数定义的安全数组的变体。 如果在 lExecuteOptions 中指定了 GetInfo 选项,则此参数用于返回从 OLE DB 提供程序获取的参数定义。 否则,此参数可能为空。

备注

HandlerString 参数可能为 null。 在这种情况下会发生什么取决于如何配置 RDS 服务器。 “MSDFMAP.handler”的处理程序字符串指示应使用 Microsoft 提供的处理程序 (Msdfmap.dll)。 “MASDFMAP.handler,sample.ini”的处理程序字符串指示应使用 Msdfmap.dll 处理程序,并应将参数“sample.ini”传递给处理程序。 MSDFMAP.dll 会将参数解释为使用 sample.ini 检查连接和查询字符串的方向。

注意

Execute21 方法是 Execute 方法 (RDS) 的一个版本。 如果需要使用 Execute 方法与 ADO 2.1 进行通信,可以改为调用 Execute21 方法。 ADO 2.5 及更高版本中 Execute 方法的功能是 ADO 2.1 中为相同方法提供的功能的超集。

应用于

DataFactory 对象 (RDSServer)