从xml,SQL Server 2008批量导入/更新记录

时间:2011-12-24 14:22:29

标签: asp.net xml sql-server-2008

从xml订阅源开始更新SQL Server 2008数据库中10000行的最佳方法是什么?它是一个带有大型客户数据库的.net Web应用程序,我希望它可以从应用程序进行更新,而不必乱用sql manager等。

我注意到有一些类似的问题,一个流行的答案是将xml数据BULKCOPY变成临时表,然后在现有表上进行UPDATE?

由于

1 个答案:

答案 0 :(得分:2)

不知道你的XML是什么以及它看起来是什么样的,也不知道你想要更新的表格是什么样的,我在这里猜测....

你基本上有两个选择:将你的XML源提供到SQL Server中并处理将XML数据分解为关系数据(在XQuery支持下运行得很好),但你似乎更喜欢在客户端上执行此操作。 NET应用程序。

在这种情况下,我可能会做这样的事情(不知道有关你的场景的任何细节,这必须是相当模糊的......):

  • 使用XML提要中的有用数据获取有趣节点列表
  • 定义DataTable,其中包含您要存储/处理/用于更新的所有列
  • 将每个XML节点转换为内存中DataTable的一行,并填入值
  • 完成迭代XML节点后,将DataTable批量插入SQL Server中的临时表
  • 让SQL语句或存储过程从登台表中的数据更新原始客户数据