使用SQL Server连接xml接口,读取并解析数据
--数据源格式,放到任意程序中部署接口即可
--<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
--<Peoples>
--<People>
--<Name>张三</Name>
--<Sex>男</Sex>
--</People>
--<People>
--<Name>李四</Name>
--<Sex>女</Sex>
--</People>
--<People>
--<Name>王武</Name>
--<Sex>男</Sex>
--</People>
--<People>
--<Name>赵柳</Name>
--<Sex>女</Sex>
--</People>
--<People>
--<Name>武士刀</Name>
--<Sex>男</Sex>
--</People>
--</Peoples>
--</Data> --调用webService----------------
declare @ServiceUrl as varchar(1000)
DECLARE @UrlAddress varchar(500) --WebService地址:以http开头,结尾带斜杠,例如'https://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/'
set @UrlAddress = 'http://localhost:11687/home/webxml'
SET @ServiceUrl=@UrlAddress--如果有参数可以在此处拼入
--访问地址获取结果
Declare @Object as Int
Declare @ResponseText as Varchar(8000) --必须8000
Declare @Data as XML EXEC sp_OACreate 'MSXML2.XMLHTTP', @Object OUT; --创建OLE组件对象 Exec sp_OAMethod @Object, 'open', NULL, 'POST',@ServiceUrl,'false' --打开链接,注意是get还是post
Exec sp_OAMethod @Object, 'send'
EXEC sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT --输出参数 Select @ResponseText --输出结果
SET @Data = CAST(@ResponseText AS XML) select t.c.value('(Name/text())[1]','VARCHAR(20)') as Name,
t.c.value('(Sex/text())[1]','VARCHAR(20)') as Sex
from @Data.nodes('/*/*/*') as t(c) Exec sp_OADestroy @Object
GO ----开启 Ole Automation Procedures
--sp_configure 'show advanced options', 1;
--GO
--RECONFIGURE;
--GO
--sp_configure 'Ole Automation Procedures', 1;
--GO
--RECONFIGURE;
--GO
--EXEC sp_configure 'Ole Automation Procedures';
--GO ----关闭 Ole Automation Procedures
--sp_configure 'show advanced options', 0;
--GO
--RECONFIGURE;
--GO
--sp_configure 'Ole Automation Procedures', 0;
--GO
--RECONFIGURE;
--GO
--EXEC sp_configure 'Ole Automation Procedures';
--GO
----开启Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句:
--exec sp_configure 'show advanced options',1
--reconfigure
--exec sp_configure 'Ad Hoc Distributed Queries',1
--reconfigure
----关闭Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句:
--exec sp_configure 'Ad Hoc Distributed Queries',0
--reconfigure
--exec sp_configure 'show advanced options',0
--reconfigure
使用SQL Server连接xml接口,读取并解析数据的更多相关文章
- ADO.NET 快速入门(十二):从 SQL Server 生成 XML 数据
本文演示如何使用2种不同的方法从 SQL Server 生成 XML. 方法1:使用了 SqlCommand 的 ExecuteXmlReader 方法获取 XmlReader,然后使用 Data ...
- 通过sql server 连接mysql
图文:通过sql server 连接mysql 1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql.com/downloads/con ...
- [ASP.NET]SQL Server 连接字符串和身份验证
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1; Property ...
- SQL Server 连接字符串和身份验证详解
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1; ...
- SQL Server 连接字符串和身份验证
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1;P ...
- Sql Server 连接池及其用法
其实我们一直在使用SqlServer的连接池.在连接字符串中,Pooling为是否启用连接池,默认值为true,表示启用. 与连接池相关的两个重要参数是 Min Pool Size和 Max Pool ...
- SQL Server 连接问题-TCP/IP
原文:SQL Server 连接问题-TCP/IP 出自:http://blogs.msdn.com/b/apgcdsd/archive/2012/02/24/ms-sql-server-tcp-ip ...
- Sql Server连接字符串
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1; ...
- SQL Server FOR XML PATH 语句的应用---列转行
经常在论坛看到高手使用了 for xml path,由于是搜索一下,记录了详细的使用方法.在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据,下面是它的一些应用 ...
随机推荐
- .net Mvc4 View—布局页与分部页
▲ 一.Layout属性 1.1.@RenderPage():渲染制定的页面到占位符. 注意:@RenderPage()可以使用多次,这点与@RenderBody()不同 ...
- centOS 6.5命令方式配置静态IP
想自己做个centOS玩一下,然后通过FTP访问操作,首先查看是否开启了SSH,命令如下: rpm -qa | grep ssh 这个时候看到的是centOS的ssh已经打开!要是通过FTP工具访问还 ...
- mysql+navicat安装小结
1,mysql到官方下载,navicat下载破解版 2,修改my.ini, 注意,需要手动创建data文件夹, 其中C:\MySql\mysql-5.7.17-winx64是解压mysql的目录 [m ...
- [C/C++] C/C++错题集
1. 解析: A:在GCC下输出:0 在VC6.0下输出:1 B:在GCC下输出:段错误 (核心已转储) 在VC6.0下输出:已停止工作,出现了一个问题,导致程序停止正常工作. C:正常 ...
- Delphi开发的一些技巧
[Delphi]Delphi开发的一些技巧 一.提高查询效率先进行准备查询操作: CustomerQuery.Close; if not (CustomerQuery.Prepared) then - ...
- 【bzoj4326】[NOIP2015]运输计划 二分答案+LCA
题目描述 公元 2044 年,人类进入了宇宙纪元.L 国有 n 个星球,还有 n−1 条双向航道,每条航道建立在两个星球之间,这 n−1 条航道连通了 L 国的所有星球.小 P 掌管一家物流公司, 该 ...
- C# 类反射创建对象实例
object obj= Activator.CreateInstance(Type type);
- POJ 3261 Milk Patterns (后缀数组,求可重叠的k次最长重复子串)
Milk Patterns Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 16742 Accepted: 7390 Ca ...
- [BZOJ5120] [2017国家集训队测试]无限之环
Description 曾经有一款流行的游戏,叫做InfinityLoop,先来简单的介绍一下这个游戏: 游戏在一个n×m的网格状棋盘上进行,其中有些小方格中会有水管,水管可能在方格某些方向的边界的中 ...
- [洛谷P2106]Sam数
题目大意:问长度为$n$的$Sam$数有几个,$Sam$数的定义为没有前导零,相邻两个数字之差绝对值小于等于$2$的数 题解:发现转移方程一定,可以矩阵快速幂. 卡点:没有特判$n=1$的情况 C++ ...