共用方式為


xml 資料類型在 SQLXML 4.0 中的支援

適用於:SQL ServerAzure SQL 資料庫

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

使用 xml 資料類型

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

Task 範例 主題
如何在 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)