将大型XML加载到SQL Server 2008中

时间:2011-12-29 16:51:13

标签: 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个小时,我不知道需要多长时间。 我还可以尝试其他什么方式?

谢谢!