t-sql将16GB XML文件解析到数据库中

时间:2014-06-30 14:41:26

标签: xml tsql parsing

最近我设法解析了我的第一个xml文件。它是12 MB。它使用该代码完美地工作:

DECLARE @DocID INT;
DECLARE @DocXML XML;
SELECT @DocXML = CAST(XMLSource AS XML)
FROM OPENROWSET(BULK 'C:\simple1.xml', SINGLE_BLOB) 
AS X (XMLSource);

EXECUTE sp_xml_preparedocument @DocID OUTPUT, @DocXML;

我将它放入变量中并使用2个游标我将记录逐行放入表中。 我尝试将相同的方法应用到我的新16 GB文件中,并且在执行EXECUTE sp_xml_preparedocument @DocID OUTPUT, @DocXML;时出现错误:

  

无法创建XML文档,因为服务器内存不足。使用   sp_xml_removedocument用于发布XML文档。

有什么方法可以克服它?我应该使用其他方法来使用我的XML文件而不将其全部放入内存吗?或者唯一的方法是使用C#和xmlreader来读取部分文件?

0 个答案:

没有答案