共用方式為


SQLXMLOLEDB 提供者簡介 (SQLXML 4.0)

SQLXMLOLEDB 提供者是 OLE DB 提供者,可透過 ActiveX 資料物件 (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 提供者會公開下列提供者特定的連接屬性。

連線

財產
預設

(如果有)
說明
數據提供者 提供 OLE DB 提供者的 PROGID,讓 SQLXMLOLEDB 執行命令。 從 SQLXML 4.0 和 SQL Server 2005 開始,此提供者包含在 SQL Server Native Client 中;因此,這個屬性值限制為「SQLNCLI11」。 如需詳細資訊,請參閱 SQL Server Native Client 程式設計

SQLXMLOLEDB 提供者會公開下列提供者特定的命令屬性。

指令

財產
預設

(如果有)
說明
基礎路徑 "" 指定基底檔案路徑。 基底檔案路徑是用來指定 XML Stylesheet Language (XSL) 或對應架構檔案的位置。 基底檔案路徑也可用來解析 XSL 的相對路徑,或 XSL 或對應架構屬性中指定的架構檔案。

如需使用此屬性的範例,請參閱執行 XPath 查詢(SQLXMLOLEDB 提供者)。
ClientSideXML 如果您希望將資料列集轉換成 XML 的程式發生在用戶端上,而不是在伺服器上,請將此屬性設定為 True。 當您想要將效能負載移至中介層時,這會很有用。

如需使用此屬性的範例,請參閱執行 SQL 查詢(SQLXMLOLEDB 提供者)執行包含 SQL 查詢的範本(SQLXMLOLEDB 提供者)。
內容類型 傳回輸出內容類型。 這是 READ ONLY 屬性。

這個屬性會向瀏覽器提供內容類型的相關信息(例如 TEXT/XML、TEXT/HTML、image/jpeg 等等)。 這個屬性的值會成為當做 HTTP 標頭一部分傳送至瀏覽器的 內容類型 欄位,其中包含要傳送為本文之檔的 MIME 類型 (Multipurpose Internet Mail Extensions) 。
對應架構 如果用戶端應用程式針對對應架構執行 XPath 查詢(XDR 或 XSD),這個屬性會用來指定對應架構的名稱。

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

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

在指定對應架構屬性的值時,您可以指定本機目錄路徑或 URL(http://...)。如果您指定 URL,則必須將 WinHTTP 設定為透過 Proxy 伺服器存取 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 根目錄 這個屬性是用來定義所產生 XML 的根標記。 例如,如果您對資料庫執行 SQL 查詢,而產生的 XML 檔沒有單一根元素,則會使用 屬性的值,將單一根元素新增至檔。

如需使用此屬性的範例,請參閱執行 SQL 查詢(SQLXMLOLEDB 提供者)。
xsl 當您想要將 XSL 轉換套用至查詢所傳回的 XML 檔時,這個屬性會用來指定 XSL 檔名。

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

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

如需使用此屬性的範例,請參閱套用 XSL 轉換 (SQLXMLOLEDB 提供者)。

下表包含 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。