【发布时间】:2009-12-15 10:25:03
【问题描述】:
我需要插入大小为 350 Mb 的 xml 文件的内容 到 sql server 2005 中的表中。
如何插入?
我尝试使用批量插入,但出现内存不足异常。
请帮忙。
【问题讨论】:
标签: sql-server xml sql-server-2005
我需要插入大小为 350 Mb 的 xml 文件的内容 到 sql server 2005 中的表中。
如何插入?
我尝试使用批量插入,但出现内存不足异常。
请帮忙。
【问题讨论】:
标签: sql-server xml sql-server-2005
最好的办法是编写一个应用程序来读取 XML,然后进行插入。它可能会慢一点,但这样您就可以完全控制数据的插入方式,并且可以轻松地对这些操作中几乎不可避免的数据进行细微的转换。
您的另一个选择是查看 DTS 或 SSIS。不过不确定他们对 XML 的处理能力如何。
【讨论】:
看看这个例子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
【讨论】:
SSIS 有专门为此设计的工具。也就是说,我认为 SSIS 是一个陷阱,我会选择编写自己的应用程序来处理这项工作。
但我知道很多人通过 SSIS 定期做这类事情都没有问题,所以如果你不准备自制解决方案,我建议从那里开始。
【讨论】: