SQLXMLOLEDB 访问接口简介 (SQLXML 4.0)
SQLXMLOLEDB 访问接口是通过 ActiveX 数据对象 (ADO) 公开 Microsoft SQLXML 功能的 OLE DB 访问接口。但是,访问接口只能在 ADO 的“写入输出流”模式下执行命令。SQLXMLOLEDB 访问接口不是行集访问接口。执行命令时,必须指定 adExecuteStream 标志,该标志指示 ADO 使用指定的输出流。
下面的示例显示在其中指定了 adExecuteStream 标志的 Execute 命令的语法:
Dim oTestCommand As New ADODB.Command
...
oTestCommand.Properties("Output Stream").Value = oTestStream
oTestCommand.Execute , , adExecuteStream
...
特定于访问接口的 SQLXMLOLEDB 属性
SQLXMLOLEDB 访问接口公开下列特定于访问接口的连接属性。
连接 属性 |
默认值 (如果有) |
说明 |
---|---|---|
Data Provider |
|
提供 SQLXMLOLEDB 执行命令所使用的 OLE DB 访问接口的 PROGID。从 SQLXML 4.0 和 SQL Server 2005 开始,此访问接口包含在 SQL Server Native Client 中;因此,此属性值限制为“SQLNCLI10”。有关详细信息,请参阅SQL Server 2008 R2 Native Client 编程。 |
SQLXMLOLEDB 访问接口公开下列特定于访问接口的命令属性。
命令 属性 |
默认值 (如果有) |
说明 |
---|---|---|
Base Path |
"" |
指定基本文件路径。基本文件路径用于指定 XML 样式表语言 (XSL) 或映射架构文件的位置。还可以使用基本文件路径解析在 XSL 或 Mapping Schema 属性中指定的 XSL 或映射架构文件的相对路径。 有关使用此属性的示例,请参阅执行 XPath 查询(SQLXMLOLEDB 访问接口)。 |
ClientSideXML |
False |
如果希望在客户端上执行行集到 XML 的转换过程,而不是在服务器上执行,请将此属性设置为 True。在希望将性能负载移到中间层时,此操作很有用。 有关使用此属性的示例,请参阅执行 SQL 查询(SQLXMLOLEDB 访问接口)或执行包含 SQL 查询的模板(SQLXMLOLEDB 访问接口)。 |
Content Type |
|
返回输出内容类型。这是一个 READ ONLY 属性。 该属性向浏览器提供有关内容类型的信息(例如 TEXT/XML、TEXT/HTML、image/jpeg 等)。该属性的值是作为 HTTP 标头的一部分发送到浏览器的 content-type 字段,该标头包含作为正文发送的文档的 MIME 类型(多用途 Internet 邮件扩展)。 |
Mapping Schema |
NULL |
如果客户端应用程序针对映射架构(XDR 或 XSD)执行 XPath 查询,该属性则用于指定映射架构的名称。 指定的路径可以是相对路径 (xyz/abc/MySchema.xml),也可以是绝对路径 (C:\MyFolder\abc\MySchema.xml)。 如果指定相对路径,则使用 Base Path 属性指定的基本路径来解析该相对路径。如果未在 Base Path 属性中指定任何路径,则该相对路径是相对于当前目录的相对路径。 在指定 Mapping Schema 属性的值时,可以指定本地目录路径或 URL (http://...)。如果指定 URL,则必须配置 WinHTTP 以便通过代理服务器访问 HTTP 和 HTTPS 服务器。执行 Proxycfg.exe 实用工具可实现这一目的。有关详细信息,请参阅 MSDN 库中的“使用 WinHTTP 代理配置实用工具”。 有关使用此属性的示例,请参阅执行 XPath 查询(SQLXMLOLEDB 访问接口)。 |
namespaces |
|
该属性允许执行使用命名空间的 XPath 查询。有关使用此属性的示例,请参阅执行带命名空间的 XPath 查询(SQLXMLOLEDB 访问接口)。 |
ss Stream Flags |
|
该属性用于指定特定类型的安全性限制。例如,您可能希望禁用对文件的 URL 引用或文件的绝对路径(如外部站点),或者您可能不希望在模板中进行查询。 可为此属性分配以下值: 1 = STREAM_FLAGS_DISALLOW_URL 2 = STREAM_FLAGS_DISALLOW_ABSOLUTE_PATH 4 = STREAM_FLAGS_DISALLOW_QUERY 8 = STREAM_FLAGS_ DONTCACHEMAPPINGSCHEMA 16 = STREAM_FLAGS_DONTCACHETEMPLATE 32 = STREAM_FLAGS_DONTCACHEXSL 下一个表中提供了有关这些值的其他信息。 |
xml root |
|
该属性用于定义生成的 XML 的根标记。例如,如果针对数据库执行 SQL 查询,并且生成的 XML 文档没有任何单个根元素,则使用该属性的值向文档添加单个根元素。 有关使用此属性的示例,请参阅执行 SQL 查询(SQLXMLOLEDB 访问接口)。 |
xsl |
|
此属性用于在对查询返回的 XML 文档应用 XSL 转换时指定 XSL 文件名。 指定的路径可以是相对路径 (xyz/abc/MyXSL.xsl),也可以是绝对路径 (C:\MyFolder\abc\MyXSL.xsl)。 如果指定相对路径,则使用 Base Path 属性指定的基本路径来解析该相对路径。如果未在 Base Path 属性中指定任何路径,则该相对路径是相对于当前目录的相对路径。 有关使用此属性的示例,请参阅Applying an XSL Transformation (SQLXMLOLEDB Provider)。 |
下表包含对 ss Stream Flags 属性值的说明。
属性值 |
说明 |
---|---|
STREAM_FLAGS_DISALLOW_URL |
映射架构或 XSL 不接受 URL。 |
STREAM_FLAGS_DISALLOW_ABSOLTE_PATH |
为映射架构或 XSL 指定的路径必须是相对于模板自身的基本路径的相对路径。 |
STREAM_FLAGS_DISALLOW_QUERY |
禁止在模板中执行查询。 |
STREAM_FLAGS_DONTCACHEMAPPINGSCHEMA |
未缓存映射架构。当需要更改数据库架构时,该属性值在数据库开发阶段非常有用。 |
STREAM_FLAGS_DONTCACHETEMPLATE |
未缓存模板。 |
STREAM_FLAGS_DONTCACHEXSL |
未缓存 XSL。 |