共用方式為


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

從 SQL Server 2005 開始,SQL Server 支援使用 xml 資料類型的 XML 類型資料。 本主題提供有關 SQLXML 4.0 如何識別 xml 資料類型之執行個體與實作其支援的資訊。

使用 xml 資料類型

為了解如何使用實作 xml 資料類型資料行之 SQL 資料表的詳細資訊,提供下列範例:

工作

範例

主題

如何在 XML 檢視中對應與包含 xml 資料行

「將 XML 元素對應至 XML 資料類型資料行」

XSD 元素和屬性對資料表和資料行的預設對應 (SQLXML 4.0)

如何使用 Updategrams 將資料插入 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 查詢。

  • 在不支援 (例如 sql:relationship 和 sql:key-fields) 或允許的註解中使用 xml 資料類型資料行將會導致 SQL Server 錯誤,實作 SQLXML 4.0 的中間層元件將不會捕捉到這個錯誤。 發生這個錯誤是因為 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) 文件,並將包含內嵌 XML 結構描述的資料載入到資料庫中。

  • 根據 SQL Server 的行為,SQLXML 4.0 不會保留 XML 宣告處理指示 (例如,<?xml version='1.0'?>)。 但是,系統會將 XML 宣告視為 SQL Server XML 剖析器的指示詞,而且在資料轉換為 xml 資料類型之後,會遺失其屬性 (version、encoding 和 standalone)。 XML 資料會當做 UCS-2 儲存在內部。 系統會保留 XML 執行個體中的其他所有處理指示;這些指示可用於 xml 資料行,而且可由 SQLXML 支援。

請參閱

概念

XML 資料 (SQL Server)