我想要實現的任務是將XML文件導入SQL Server。一旦準備好空表,我會加載整個XML文件並填充該表。谷歌搜索我發現SQL批量插入是合適的,我測試了以下代碼運行正常:將XML文件導入SQL Server太慢
INSERT INTO Products (sku, product_desc)
SELECT X.product.query('SKU').value('.', 'INT'),
X.product.query('Desc').value('.', 'VARCHAR(30)')
FROM (
SELECT CAST(x AS XML)
FROM OPENROWSET(
BULK 'C:\Products.xml',
SINGLE_BLOB) AS T(x)
) AS T(x)
CROSS APPLY x.nodes('Products/Product') AS X(product);
我的XML文件數1860年左右節點(30KB),相當小,但上述過程需要在5分鐘內導入整個文件。有沒有機會說出這個過程? 我也讀過SQL Server 2008有一個影響批量對象的bug。 任何提示?
你最好在解析C#或其他語言的XML,並通過一個應用程序導入它。 – Oded
是的,你是對的。首先嚐試使用C#導入xml,但我認爲SQL Server的批量過程更可靠 – Ras
好吧,XML和關係數據庫......通常不太適合。 – Oded