是否有一条非常直接的直接路线? (即SQL Server可以读取XML)
或者,最好是解析XML并通过ADO.Net以通常的方式将其作为单独的行或者批量更新进行传输?
我意识到可能存在涉及大型复杂存储过程的解决方案 - 虽然我并不完全反对这一点,但我倾向于将大部分业务逻辑放在C#代码中。我见过使用SQLXMLBulkLoad的解决方案,但它似乎需要相当复杂的SQL代码。
作为参考,我将一次处理大约100行,每行约50个小数据(字符串和整数)。这最终将成为每日批量工作。
非常感谢您提供的任何代码段。
答案 0 :(得分:11)
SQL Server 2005及更高版本的数据类型称为“XML”,您可以将XML存储在 - 无类型或使用XSD架构键入。
您基本上可以从XML文字字符串中填充XML类型的列,因此您可以轻松地使用普通的INSERT语句并将XML内容填充到该字段中。
马克
答案 1 :(得分:4)
您可以使用函数OPENXML和存储过程sp_xml_preparedocument轻松地将XML转换为行集。
答案 2 :(得分:2)
如果您使用的是SQL Server 2008(或2005),则它具有xml
本机数据类型。您可以将XSD架构与xml
个变量相关联,然后直接插入xml
类型的列中。
答案 3 :(得分:2)
是的,SQL Server 2005及更高版本可以开箱即用地解析XML。
您可以使用节点,值和查询方法将其分解,无论是值还是属性
一些无耻的堵塞: