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 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。 |