【问题标题】:SQL Server: Import XML from web-server?SQL Server:从 Web 服务器导入 XML?
【发布时间】: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 替换为filenameUrle.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


【解决方案1】:

【讨论】:

  • 如果我错了,请纠正我,但看起来这需要 Visual Studio。
  • @Ian 它确实需要 VS。我对这一切都很陌生,我不能肯定地说,但我的想法是 SQL Server 无法自行完成,因此 MS 发展了一种外部方式来做到这一点,因为它会引发安全问题如果 SQL 会这样做。在这里,这根本不是一个新请求:stackoverflow.com/questions/180046/…
  • @Cawas,它不需要 VS。 VS 也不是这样做的外部方式。 SQL Server 不是浏览器,它是 DBMS (DataBase Mgmt System)
【解决方案2】:

我不知道在 vanilla T-SQL 中执行此操作的方法,您可以通过创建 CLR function 来下载内容来获得一些好处。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-26
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多