批量导入xml数据到sql server

时间:2012-11-05 14:13:03

标签: sql-server xml sql-server-2012 bulk-import

我有一组xml文件,我想要解析数据并导入到sql server 2012数据库。提供的xml文件将根据模式进行验证。

我正在考虑这样做的最佳方法是什么。我发现了这个:http://msdn.microsoft.com/en-us/library/ms171878.aspx

我想知道这是最好的方式还是其他方式?

1 个答案:

答案 0 :(得分:0)

您有几种选择:

  1. SSIS XML Source。这样做验证架构。如果要检测并正确处理无效的XML文件,请创建脚本任务以在C#中验证架构。

  2. 在存储过程中解析XML。

    • 将整个XML文件插入一列。根据您的架构验证要求,您可以使用无类型或类型化的XML列。 (或两者兼而有之)
    • 使用XPath函数解析XML。这实际上非常快。
  3.     INSERT INTO SomeTable (Column1, Column2, Column3)
        SELECT
            YourXmlColumn.value('(/root/col1)[1]','int'),
            YourXmlColumn.value('(/root/col2)[1]','nvarchar(10)'),
            YourXmlColumn.value('(/root/col3)[1]','nvarchar(2000)'),
            YourXmlColumn.value('(/root/col4)[1]','datetime2(0)')
        FROM YourXmlTable