共用方式為


SQLXML 4.0 中的 xml 資料類型支援

從 SQL Server 2005 開始,SQL Server 支援使用 xml 資料類型的 XML 類型數據。 本主題提供 SQLXML 4.0 如何辨識數據類型實例, xml 並實作它們支持的資訊。

使用 xml 資料類型

若要深入瞭解如何使用實 xml 作數據類型數據行的 SQL 資料表,提供下列範例:

任務 範例 主題
如何在 XML 檢視中對應和包含數據行xml 「將 XML 元素對應至 XML 資料類型資料行」 XSD 元素與屬性與資料表和資料列的預設對應 (SQLXML 4.0)
如何使用 updategram 將資料插入數據 xml 「將資料插入 XML 資料類型資料行」 使用 XML Updategram 插入資料 (SQLXML 4.0)
將 XML 數據大量載入資料 xml 「在 xml 資料類型資料列中大量載入」 XML 大量載入範例 (SQLXML 4.0)

指導方針和限制

  • <xsd:any> 無法對應至包含 xml 數據類型的數據行。 此案例的 SQLXML 支援是透過 sql:overflow-field 批注提供。 另一個因應措施是將數據類型欄位對應 xml 為 的專案 xsd:anyType。 此因應措施示範於上表所參考的「將 XML 元素對應至 XML 數據類型數據行」範例中。

  • 不支援對數據類型數據行內容的 xml XPath 查詢。

  • xml在不支援的批注中使用數據類型數據行(例如 sql:relationshipsql:key-fields)或允許,會導致實作 SQLXML 4.0 的仲介層元件不會截獲 SQL Server 錯誤。 這是因為 SQLXML 不需要 SQL 類型資訊。 這類似於其他數據類型的 SQLXML 行為,例如 BLOB 和二進位類型。

  • 只有 XSD 架構才支援對應 xml 數據行。 XDR 架構不支援對應數據行 xml

  • SQLXML 4.0 依賴 SQL Server 中提供的 XML 剖析支援。 數據 xml 行可以對應為具類型的 XML 或不具類型的 XML。 不論是哪一種情況,SQLXML 4.0 都不會驗證輸入 XML。 如果輸入 XML 無效或格式正確,SQL Server 會將它報告給 SQLXML,並將伺服器傳回的任何相關錯誤資訊傳播給使用者。

  • SQLXML 4.0 依賴 SQL Server 中提供的 DTD 有限支援。 SQL Server 允許數據類型數據中的 xml 內部 DTD,其可用來提供預設值,並以擴充的內容取代實體參考。 SQLXML 會將 XML 資料「如預期」傳遞至伺服器(包括內部 DTD)。 您可以使用第三方工具,將 DTD 轉換成 XML 架構(XSD)檔,並將內嵌 XSD 架構的數據載入資料庫。

  • SQLXML 4.0 不會根據 SQL Server 的行為保留 XML 宣告處理指令(例如, )。 相反地,XML 宣告會被視為 SQL Server XML 剖析器的指示詞,而且其屬性(版本、編碼和獨立)會在數據轉換成 xml 數據類型之後遺失。 XML 資料會在內部儲存為 UCS-2。 XML 實例中的所有其他處理指令都會保留;數據行中 xml 允許它們,而且 SQLXML 支援它們。

另請參閱

XML 資料 (SQL Server)