【发布时间】:2010-08-19 02:57:59
【问题描述】:
SQL Server 是否支持直接从 Web 服务器加载/读取/传输/导入/获取/插入 XML 到表中?
假装我想从网络服务器获取 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(文件名、目录名或卷标语法不正确。)。
【问题讨论】:
-
如果您找到/找到了解决方案,请告诉我们!
-
我假设你是最喜欢它的人。所以我一做你就会知道解决方案:)
标签: sql-server xml web-services sql-server-2005