【问题标题】:How to insert content of large xml file into tables in sql server 2005?如何将大型 xml 文件的内容插入到 sql server 2005 中的表中?
【发布时间】:2009-12-15 10:25:03
【问题描述】:

我需要插入大小为 350 Mb 的 xml 文件的内容 到 sql server 2005 中的表中。

如何插入?

我尝试使用批量插入,但出现内存不足异常。

请帮忙。

【问题讨论】:

    标签: sql-server xml sql-server-2005


    【解决方案1】:

    最好的办法是编写一个应用程序来读取 XML,然后进行插入。它可能会慢一点,但这样您就可以完全控制数据的插入方式,并且可以轻松地对这些操作中几乎不可避免的数据进行细微的转换。

    您的另一个选择是查看 DTS 或 SSIS。不过不确定他们对 XML 的处理能力如何。

    【讨论】:

      【解决方案2】:

      看看这个例子http://msdn.microsoft.com/en-us/library/ms191184(SQL.90).aspx

      您可以尝试使用 OPENROWSET

      INSERT INTO T(XmlCol)
      SELECT * FROM OPENROWSET(
         BULK 'c:\SampleFolder\SampleData3.txt',
         SINGLE_BLOB) AS x
      

      【讨论】:

        【解决方案3】:

        SSIS 有专门为此设计的工具。也就是说,我认为 SSIS 是一个陷阱,我会选择编写自己的应用程序来处理这项工作。

        但我知道很多人通过 SSIS 定期做这类事情都没有问题,所以如果你不准备自制解决方案,我建议从那里开始。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-10-31
          • 2011-01-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-06-08
          相关资源
          最近更新 更多