存储过程调用API
首先下面的sql
--开启Sql Server 通讯配置-- 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
get请求
--GET declare @ServiceUrl as varchar(1000) set @ServiceUrl = 'http://localhost:61132/api/values' DECLARE @data varchar(max); set @data='' Declare @Object as Int Declare @ResponseText AS VARCHAR(8000); Exec sp_OACreate 'Msxml2.ServerXMLHTTP.3.0', @Object OUT; Exec sp_OAMethod @Object, 'open', NULL, 'get',@ServiceUrl,'false' Exec sp_OAMethod @Object, 'send', NULL, @data --发送数据 Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT EXEC sp_OAGetErrorInfo @Object --异常输出 Select @ResponseText Exec sp_OADestroy @Object GO
post请求
--post declare @ServiceUrl as varchar(1000) set @ServiceUrl = 'http://localhost:61132/api/values' DECLARE @data varchar(max); --发送数据 set @data='Id=1&Name=Jager&IsActive=true' Declare @Object as Int Declare @ResponseText AS varchar(8000) ; Exec sp_OACreate 'Msxml2.ServerXMLHTTP.3.0', @Object OUT; Exec sp_OAMethod @Object, 'open', NULL, 'POST',@ServiceUrl,'false' Exec sp_OAMethod @Object, 'setRequestHeader', NULL, 'Content-Type','application/x-www-form-urlencoded' Exec sp_OAMethod @Object, 'send', NULL, @data --发送数据 Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT EXEC sp_OAGetErrorInfo @Object --异常输出 Select @ResponseText Exec sp_OADestroy @Object GO