共用方式為


SQLXMLOLEDB 提供者簡介 (SQLXML 4.0)

SQLXMLOLEDB 提供者是一種 OLE DB 提供者,可透過 ActiveX Data Objects (ADO) 來公開 Microsoft SQLXML 功能。但是,此提供者只能在 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

 

提供 OLE DB 提供者的 PROGID,SQLXMLOLEDB 會透過它來執行命令。從 SQLXML 4.0 和 SQL Server 2005 開始,這個提供者就會包含在 SQL Server Native Client 中;因此,這個屬性值受限為 "SQLNCLI10"。如需詳細資訊,請參閱<SQL Server 2008 Native Client 程式設計>。

SQLXMLOLEDB 提供者會公開以下提供者特有的命令屬性。

命令

屬性

預設值

(如果有的話)

描述

Base Path

""

指定基底檔案路徑。基底檔案路徑是用來指定 XML 樣式表語言 (XSL) 或對應結構描述檔案的位置。基底檔案路徑也是用來解析 XSLMapping Schema 屬性中已指定的 XSL 或對應結構描述檔案的相對路徑。

如需使用這個屬性的範例,請參閱<執行 XPath 查詢 (SQLXMLOLEDB 提供者)>。

ClientSideXML

False

如果您希望將資料列集轉換成 XML 的程序發生在用戶端而不是伺服器上,請將這個屬性設定為 True。如果您想要將效能負載移到中介層,這個作法會很實用。

如需使用這個屬性的範例,請參閱<執行 SQL 查詢 (SQLXMLOLEDB 提供者)>或<執行包含 SQL 查詢的範本 (SQLXMLOLEDB 提供者)>。

Content Type

 

傳回輸出內容類型。這是 READ ONLY 屬性。

這個屬性會將有關內容類型 (如 TEXT/XML、TEXT/HTML、image/jpeg 等等) 的資訊提供給瀏覽器。這個屬性的值會變成 content-type 欄位,此欄位會當做 HTTP 標頭的一部分傳送給瀏覽器,該標頭中包含當做主體傳送之文件的 MIME 類型 (多用途網際網路郵件延伸標準)。

Mapping Schema

NULL

如果用戶端應用程式針對對應結構描述 (XDR 或 XSD) 執行 XPath 查詢,這個屬性會用來指定對應結構描述的名稱。

指定的路徑可以是相對路徑 (xyz/abc/MySchema.xml) 或絕對路徑 (C:\MyFolder\abc\MySchema.xml)。

如果指定了相對路徑,則 Base Path 屬性所指定的基底路徑可用來解析相對路徑。如果 Base Path 屬性中未指定任何路徑,則相對路徑會相對於目前的目錄。

在指定 Mapping Schema 屬性的值時,您可以指定本機目錄路徑或 URL (http://...)。如果您指定 URL,您必須透過 Proxy 伺服器來設定 WinHTTP 存取 HTTP 和 HTTPS 伺服器。您可以執行 Proxycfg.exe 公用程式來進行這項處理。如需詳細資訊,請參閱 MSDN Library 中的<使用 WinHTTP Proxy 組態公用程式>(英文)。

如需使用這個屬性的範例,請參閱<執行 XPath 查詢 (SQLXMLOLEDB 提供者)>。

命名空間

 

這個屬性會讓使用命名空間的 XPath 查詢得以執行。如需使用這個屬性的範例,請參閱<執行含有命名空間的 XPath 查詢 (SQLXMLOLEDB 提供者)>。

ss 資料流旗標

 

這個屬性是用來指定特定類型的安全性限制。例如,您可能不想允許指向檔案的 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

 

當您想要將 XSL 轉換套用到查詢所傳回的 XML 文件時,可使用這個屬性來指定 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。