Share via


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

適用於:SQL ServerAzure SQL Database

從 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:relationship 和 sql: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) 文件,並將包含內嵌 XML 結構描述的資料載入到資料庫中。

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

另請參閱

XML 資料 (SQL Server)