将包含每个记录300个元素的XML加载到db中

时间:2008-10-28 12:12:29

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

所以我有这个大型XML文件,每个记录包含300多个元素,我需要将这些记录插入到数据库表中。 XML文件中节点的名称与db中的列名称相同。他们都是弦乐。是否有自动映射它们并插入数据的方法,还是我必须写出将每列映射到XML文件中每个元素的代码行?使用SQL Server 2005。

3 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

您使用的是什么数据库引擎?

SQL Server可以使用批量加载或导入/导出向导等来导入数据。

Microsoft KB,+ Many Other Techniques

答案 2 :(得分:0)

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