将大型 XML 加载到 SQL Server 2008
我必须将 xml 加载到 sql server 表中。 xml 大小约为 17 Mb。 我正在尝试使用以下代码:
DECLARE @tempTable TABLE (
codesthot NVARCHAR(50),
codpobhot NVARCHAR(50),
hot_codigo NVARCHAR(50),
hot_codcobol NVARCHAR(50),
hot_coddup NVARCHAR(50),
hot_afiliacion NVARCHAR(50)
)
DECLARE @xml XML
SET @xml='<hotel>
<codesthot><![CDATA[ABALK]]></codesthot>
<codpobhot><![CDATA[34815]]></codpobhot>
<hot_codigo><![CDATA[265369]]></hot_codigo>
<hot_codcobol><![CDATA[724224]]></hot_codcobol>
<hot_coddup><![CDATA[724224]]></hot_coddup>
<hot_afiliacion><![CDATA[RS]]></hot_afiliacion>
</hotel>
...
INSERT INTO @tempTable
SELECT Tbl.Col.value('codesthot[1]', 'NVARCHAR(50)'),
Tbl.Col.value('codpobhot[1]', 'NVARCHAR(50)'),
Tbl.Col.value('hot_codigo[1]', 'NVARCHAR(50)'),
Tbl.Col.value('hot_codcobol[1]', 'NVARCHAR(50)'),
Tbl.Col.value('hot_coddup[1]', 'NVARCHAR(50)'),
Tbl.Col.value('hot_afiliacion[1]', 'NVARCHAR(50)')
FROM @xml.nodes('//hotel') Tbl(Col)
SELECT * FROM @tempTable
它运行了 5 个小时,但我不知道需要多长时间。 我还可以尝试什么其他方法?
谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以尝试使用 SqlBulkCopy
http://blogs.microsoft.co.il/blogs/kim/archive/2009/06/15/importing-large-xml-files-to-sql-server-using-sqlbulkcopy.aspx< /a>
You could try to make use of SqlBulkCopy
http://blogs.microsoft.co.il/blogs/kim/archive/2009/06/15/importing-large-xml-files-to-sql-server-using-sqlbulkcopy.aspx