今天在做一个很奇葩的东西,中间有个过程要在SQL触发器里面调用webservice接口。呵呵~
--调用webService----------------
declare @ServiceUrl as varchar(1000)
DECLARE @UrlAddress varchar(500)
--WebService地址:以http开头,结尾带斜杠,例如‘http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/‘
set @UrlAddress = ‘http://api.map.baidu.com/telematics/v3/weather?location=%E5%8C%97%E4%BA%AC&output=json&ak=6brZIzYakoTEW1xrDYk0Wqhd
‘
SET @ServiceUrl=@UrlAddress--如果有参数可以在此处拼入
--访问地址获取结果
Declare @Object as Int
Declare @ResponseText as Varchar(8000) --必须8000
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 --输出结果
Exec sp_OADestroy @Object
GO
这里的webservice只是百度提供的一个测试接口,真正用到的时候,我们可以自己写接口,然后调用自己写的接口,远程执行方法。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/lhc1105/article/details/46745459