【问题标题】:Insert XML or JSON format data from REST API call into SQL Server将来自 REST API 调用的 XML 或 JSON 格式数据插入 SQL Server
【发布时间】:2013-10-07 21:56:07
【问题描述】:

您好,提前谢谢您,

是否可以使用 REST API 调用从 SQL 脚本中检索 XML 或 JSON 格式的数据,然后将这些数据插入到已创建表的记录中?

让我更清楚我的问题:API 正在使用 REST "http://api.monitis.com/api/api.html"

比如说输出是这样的:

<result>
<location id="4" name="UK1">
<row>
<cell>00:00</cell>
<cell>152</cell>
<cell>ok</cell>
</row>

所以本质上我需要使用带有参数的 URL 通过 http REST API 调用:

http://api.monitis.com/api?apikey=[apikey]&output=xml&version=2&action=testresult&testId=288571&day=03&month=10&year=2013&locationIds=1&timezone=-240

然后在检索数据后,我需要能够在解析 4 列 [位置]、[时间]、[响应]、[状态] 的数据后将数据插入表中

流程如下:

1.) Call the API with the desired parameters
2.) Serialize the XML
3.) Insert data into created table

【问题讨论】:

  • 好的,你能指出我正确的方向吗?我会在 sql 中使用 httpwebrequest,然后使用存储过程解析数据吗?
  • SQL Server 确实不支持 JSON 解析,也不支持调用 Web 服务。您最好从前端或中间层代码(例如 C# 或其他东西)执行此操作,获取 JSON 结果,解析它,然后将相关位存储到 SQL Server 表中
  • 那么没有办法通过T-SQL调用web服务来显示结果然后解析XML并通过Stored Proc将记录插入到表中?

标签: sql sql-server xml json rest


【解决方案1】:

我认为这是一个非常糟糕的主意,但它应该是可能的。

试试这篇文章,了解一些帮助您入门的技巧:

http://www.databasejournal.com/features/mssql/article.php/3821271/Calling-a-Web-Service-from-within-SQL-Server.htm

但我同意@marc_s,这最好在不同的层级完成。

【讨论】:

  • 好的,我同意,所以让我们忘记通过 SQL 调用它,而是通过 Powershell。不过,我遇到了问题,并收到错误“不允许与号。& 运算符保留供将来使用;使用“&”将 & 号作为字符串传递。”选项显式设置 oReq = CreateObject("Microsoft.XMLHTTP") url = "api.monitis.com/api?" & _ "apikey=[apikey]" & _ "output=xml&" & _ "version=2&" & _ "action=locations" oReq.open "GET", url, False oReq.send '响应 responseText = oReq.responseText打印 responseText 任何想法我做错了什么?
猜你喜欢
  • 2021-04-28
  • 2021-02-19
  • 2011-01-16
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多