所以我有这个大型XML文件,每个记录包含300多个元素,我需要将这些记录插入到数据库表中。 XML文件中节点的名称与db中的列名称相同。他们都是弦乐。是否有自动映射它们并插入数据的方法,还是我必须写出将每列映射到XML文件中每个元素的代码行?使用SQL Server 2005。
答案 0 :(得分:3)
我同意使用SQL服务器,使用批量加载或SQL / XML是一个不错的选择。
如果数据库不是SQL服务器并且本身不支持xml,则另一个选项是使用基本xslt将xml转换为csv或tsv;大多数数据库都可以导入分隔文件。
当然,另一个问题是:为什么你有300列?
答案 1 :(得分:0)
答案 2 :(得分:0)
300列?不是我读这个问题的方式,但是我的英语再也不那么好了。 :) 据我所知,Xml和数据库表/列之间没有自动映射。但编写动态更新应该不难吗?获取所有列名(节点名)并将它们添加到字符串(column1,column2等)中,然后迭代xml以生成值(node1.Value node2.Value等)。或者,如果您使用的是Sql Server 2005/2008,请使用bulk insert。