– 以系统管理员身份连接到SQL Server
– 启用Ole Automation Procedures
–EXEC sp_configure ‘show advanced options’, 1;
–RECONFIGURE;
–EXEC sp_configure ‘Ole Automation Procedures’, 1;
–RECONFIGURE;
CREATE FUNCTION [dbo].[qinlitestcoreapifunction]
(
@Comd varchar(120),@input varchar(2000)
)
RETURNS varchar(2000) --函数头 定义出参入参
as
BEGIN
DECLARE @ServiceUrl VARCHAR(200)
SET @ServiceUrl=‘http://localhost:5218/WeatherForecast/ExecJob?a=’+@Comd+‘&b=’+@input+‘’
DECLARE @Object AS INT
DECLARE @ResponseText AS NVARCHAR(4000)
-- 创建XMLHTTP对象实例
EXEC sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
-- 打开HTTP请求
EXEC sp_OAMethod @Object, 'open', NULL, 'GET', @ServiceUrl, 'false'
-- 设置请求头
--EXEC sp_OAMethod @Object, 'setRequestHeader', NULL, 'Content-Type', 'application/json'
-- 发送请求
EXEC sp_OAMethod @Object, 'send'
-- 获取响应文本
EXEC sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
-- 销毁对象
EXEC sp_OADestroy @Object
-- 返回响应文本
return @ResponseText
END
–DECLARE @ServiceUrl VARCHAR(200)
–SET @ServiceUrl=‘http://localhost:5218/WeatherForecast/ExecJob?a=1&b=2’
–DECLARE @Object AS INT
–DECLARE @ResponseText AS NVARCHAR(4000)
---- 创建XMLHTTP对象实例
–EXEC sp_OACreate ‘MSXML2.XMLHTTP’, @Object OUT;
---- 打开HTTP请求
–EXEC sp_OAMethod @Object, ‘open’, NULL, ‘GET’, @ServiceUrl, ‘false’
---- 设置请求头
----EXEC sp_OAMethod @Object, ‘setRequestHeader’, NULL, ‘Content-Type’, ‘application/json’
---- 发送请求
–EXEC sp_OAMethod @Object, ‘send’
---- 获取响应文本
–EXEC sp_OAMethod @Object, ‘responseText’, @ResponseText OUTPUT
---- 销毁对象
–EXEC sp_OADestroy @Object
---- 返回响应文本
–SELECT @ResponseText AS ResponseText
DECLARE @re VARCHAR(2000)
select @re=dbo.qinlitestcoreapifunction(‘abc’,‘efg’)
SELECT @re
C# Controller部分
[HttpGet(“ExecJob”)]
public string ExecJob(string a, string b)
{
return $“传入了参数{a}和参数{b}”;
}