2011-12-29 5 views
1

Мне нужно загрузить xml в таблицу сервера sql. Размер xml составляет около 17 Мб. Я пытаюсь с помощью следующего кода:Загрузить большой XML в SQL Server 2008

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 часов, и я не знаю, как долго это может занять. Какой еще способ я могу попробовать?

Спасибо!

ответ

Смежные вопросы