2008-10-28 28 views
0

因此,我有這個大的XML文件包含每個記錄300多個元素,我需要將這些記錄插入到數據庫表中。 XML文件中的節點名稱與數據庫中的列名稱相同。他們都是字符串。有沒有一種自動的方法來映射它們並插入數據,還是必須寫出將每列映射到XML文件中每個元素的代碼行?使用SQL Server 2005.將包含每個記錄的300個元素的XML加載到db中

回答

3

我會同意與SQL服務器,使用批量加載或SQL/XML是一個不錯的選擇。

如果數據庫不是SQL服務器,並且本機不支持xml,另一種選擇是使用基本的xslt將xml轉換爲csv或tsv;大多數數據庫可以導入分隔文件。

當然,另一個問題是:爲什麼你有300列?

0

300列?不是我閱讀這個問題的方式,但是我的英語又不是那麼好。 :) 據我所知,Xml和數據庫表/列之間沒有自動映射。但是寫一個動態更新不應該很難嗎?獲取所有列名(節點名)並將它們添加到字符串(column1,column2等)中,然後遍歷xml以生成值(node1.Value node2.Value等)。或者如果您使用的是Sql Server 2005/2008,請使用bulk insert

相關問題