gpt4 book ai didi

sql - 将XML批量导入SQL Server

转载 作者:行者123 更新时间:2023-12-04 12:48:56 26 4
gpt4 key购买 nike

我在Microsoft.com上查看了以下示例:

http://support.microsoft.com/kb/316005

http://msdn.microsoft.com/en-us/library/aa225754%28v=sql.80%29.aspx

但这是在其中一部分步骤中必须执行VBScript代码,而我无法找到应该在何处执行VBScript。是否可以在SQL Server本身中执行?

该站点中的代码如下所示:

 Set objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad")
objBL.ConnectionString = "provider=SQLOLEDB.1;data source=MySQLServer;
database=MyDatabase;uid=MyAccount;pwd=MyPassword"
objBL.ErrorLogFile = "c:\error.log"
objBL.Execute "c:\customermapping.xml", "c:\customers.xml"
Set objBL = Nothing

看起来它可以用经典的ASP或类似的东西执行,但是我更喜欢将其保留在SQL Server中。有谁知道如何在SQL Server中执行类似的操作?还是有人有更好的方法将XML批量导入XML?

最佳答案

SQL Server能够读取XML并根据需要插入它。这是一个XML文件和从here插入的示例:

XML:

<Products>
<Product>
<SKU>1</SKU>
<Desc>Book</Desc>
</Product>
<Product>
<SKU>2</SKU>
<Desc>DVD</Desc>
</Product>
<Product>
<SKU>3</SKU>
<Desc>Video</Desc>
</Product>
</Products>

用于解析XML的Insert语句:
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);

关于sql - 将XML批量导入SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10374134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com