SQL Server是否支持直接从Web服务器加载/读取/传输/导入/提取/插入XML到表中?
假设我想从Web服务器获取XML,例如:
SQL Server 2005(及更高版本)具有本地支持XML数据类型的功能。在过去几个月中,互联网变得非常流行。在互联网上查找信息的能力具有潜在的有用和重要性。
SQL Server是否支持这样的操作?
还是我必须使用(伪代码):
XmlHttpRequest xml = new XmlHttpRequest("http://treasury.gov/ExchangeRates.xml");
SqlServerConnection conn = new SqlServerConnection("neptune", "sa", "password");
conn.Execute("INSERT INTO Exchange Rates (RatesXml) VALUES (%1)", xml.ResponseStream);
编辑一:由于Windows能够通过http打开文件:
http://newegg.com/api/HardDrivePrices.xml
和从本地硬盘打开文件一样透明:
c:\Windows\Temp\HardDrivePrices.xml
我希望SQL Server能够从文件中加载XML。然后,我只需将
filename
替换为filenameUrl
,例如e.g.:CREATE TABLE docs (pk INT PRIMARY KEY, xCol XML not null)
INSERT INTO docs
SELECT 10, xCol
FROM (SELECT * FROM OPENROWSET
(BULK 'http://www.bankofcanada.ca/stat/fx-xml.xml',
SINGLE_BLOB) AS xCol) AS R(xCol)
但是出现以下错误:
无法批量加载文件 "http://www.bankofcanada.ca/stat/fx-xml.xml",因为无法打开该文件。操作系统错误代码 123(文件名、目录名或卷标语法不正确)。