簡體   English   中英

將 XML 數據保存到 SQL 服務器的最佳方法是什么?

[英]What is the best way to save XML data to SQL Server?

有沒有一條非常直接的直接路線? (即SQL服務器可以讀取XML)

或者,最好解析 XML 並通過 ADO.Net 以通常的方式將其作為單獨的行或批量更新進行傳輸?

我意識到可能存在涉及大型復雜存儲過程的解決方案——雖然我並不完全反對這一點,但我傾向於將我的大部分業務邏輯放在 C# 代碼中。 我見過使用 SQLXMLBulkLoad 的解決方案,但它似乎需要相當復雜的 SQL 代碼。

作為參考,我將一次處理大約 100 行,每行大約有 50 個小數據(字符串和整數)。 這最終將成為每天的批處理作業。

您可以提供的任何代碼片段將不勝感激。

SQL Server 2005 及更高版本有一個名為“XML”的數據類型,您可以將 XML 存儲在其中 - 未鍵入或使用 XSD 模式鍵入。

您基本上可以從 XML 文字字符串中填充 XML 類型的列,因此您可以輕松地使用普通的 INSERT 語句並將 XML 內容填充到該字段中。

馬克

您可以使用 function OPENXML 和存儲過程 sp_xml_preparedocument 輕松地將 XML 轉換為行集。

如果您使用 SQL Server 2008(或 2005),則它具有xml本機數據類型。 您可以將 XSD 模式與xml變量相關聯,並直接插入到xml類型的列中。

是的,SQL Server 2005 及更高版本可以開箱即用地解析 XML。

您使用節點、值和查詢方法來分解它,無論是值還是屬性

一些無恥的插播:

Xml 數據和 Xml 文檔可能具有不同的含義。 當 xml 類型適用於數據時,它不會保存格式(刪除空格),因此在某些情況下(例如配置文件)最好的選擇是 nvarchar。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM