存储过程调用http 服务

--sql 服务器设置

--启动 OLE Automation Procedures
sp_configure 'show advanced options', 1;   --此选项用来显示sp_configure系统存储过程高级选项,当其值为1时,可以使用sp_configure列出高级选项。默认为0;
GO
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'Ole Automation Procedures', 1;  --此选项可指定是否可以在Transact-SQL批处理中实例化OLEAutomation 对象。
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sp_configure 'Ole Automation Procedures';  --查看OLE Automation Procedures的当前设置。
GO

 

 

--存储过程调用示例

declare @ServiceUrl as varchar(1000)
set @ServiceUrl = 'http://172.17.1.214:10005/clmsApi/thirdInterfaceDel/insertDatas'
DECLARE @data varchar(max);
--发送数据
set @data='{  
    "evtcode": "BD_DOC_04.SC0001.EV_DOC004",
    "input": {    "jk_type":1,
                "jzlb":2,
                "details": '+@jsonDatas+'
    }
}
    '                   
Declare @Object as Int
Declare @ResponseText AS  varchar(8000)   ;   
select 1;   
Exec sp_OACreate 'Msxml2.ServerXMLHTTP.3.0', @Object OUT;
select 2;
Exec sp_OAMethod @Object, 'open', NULL, 'POST',@ServiceUrl,'false'
select 3;
Exec sp_OAMethod @Object, 'setRequestHeader', NULL, 'Content-Type','application/json'
select 4;
Exec sp_OAMethod @Object, 'send', NULL, @data --发送数据
select 5;
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
EXEC sp_OAGetErrorInfo @Object --异常输出
Select  @ResponseText
Exec sp_OADestroy @Object

posted @ 2018-12-29 15:38  lly_wy  阅读(1948)  评论(0编辑  收藏  举报