【问题标题】:Load XML containing 300 elements for each record into db将每条记录包含 300 个元素的 XML 加载到数据库中
【发布时间】:2008-10-28 12:12:29
【问题描述】:

所以我有这个大型 XML 文件,其中每条记录包含 300 多个元素,我需要将这些记录插入到数据库表中。 XML 文件中的节点名称与 db.xml 中的列名称相同。它们都是字符串。是否有一种自动的方式来映射它们并插入数据,或者我是否必须写出将每列映射到 XML 文件中的每个元素的代码行?使用 SQL Server 2005。

【问题讨论】:

    标签: c# sql-server xml linq .net-3.5


    【解决方案1】:

    我同意对于 SQL 服务器,使用批量加载或 SQL/XML 是一个不错的选择。

    如果数据库不是 SQL 服务器并且本身不支持 xml,另一种选择是使用基本的 xslt 将 xml 转换为 csv 或 tsv;大多数数据库都可以导入分隔文件。

    当然,另一个问题是:为什么有 300 列?

    【讨论】:

      【解决方案2】:

      你用的是什么数据库引擎?

      SQL server 可以使用批量加载、导入/导出向导等方式导入数据。

      Microsoft KB, + Many Other Techniques

      【讨论】:

        【解决方案3】:

        300 列?不是我阅读问题的方式,但我的英语又不是那么好。 :) 据我所知,Xml 和数据库表/列之间没有自动映射。但是写动态更新应该没那么难吧?获取所有列名(节点名)并将它们添加到一个字符串(column1、column2 等),然后遍历 xml 以生成值(node1.Value node2.Value 等)。或者,如果您使用的是 Sql Server 2005/2008,请使用 bulk insert

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-27
          • 1970-01-01
          • 1970-01-01
          • 2010-11-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多