sql server 存储过程httpget请求调用链接访问

         1. 

  1. -- 通用读取获取数据存储过程
    --开启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

    2.

    -- 创建httpget存储过程
    USE [THS_WATER]
    GO
    /****** Object:  StoredProcedure [dbo].[pro_HttpRequestData]    Script Date: 05/13/2019 13:32:20 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE [dbo].[pro_HttpRequestData](
     @URL varchar(500),
     @status int=0 OUT,
     @returnText varchar(2000)='' OUT
     )
     AS
     BEGIN
     DECLARE @object int,
     @errSrc int
    	 /*初始化对*/
    	 EXEC @status = SP_OACreate 'Msxml2.ServerXMLHTTP.3.0', @object OUT
    	 IF @status <> 0
    	 BEGIN
    	  EXEC SP_OAGetErrorInfo @object, @errSrc OUT, @returnText OUT
    	  RETURN
    	 END
    
    	/*创建链接*/
    	EXEC @status= SP_OAMethod @object,'open',NULL,'GET',@URL
    	 IF @status <> 0
    	 BEGIN
    	  EXEC SP_OAGetErrorInfo @object, @errSrc OUT, @returnText OUT
    	  RETURN
    	 END
    	 EXEC @status=SP_OAMethod @object,'setRequestHeader','Content-Type','application/x-www-form-urlencoded'
    	 /*发起请求*/
    	 EXEC @status= SP_OAMethod @object,'send',NULL
    	 IF @status <> 0
    	 BEGIN
    	  EXEC SP_OAGetErrorInfo @object, @errSrc OUT, @returnText OUT
    	  RETURN
    	 END
    	 /*获取返回*/
    
    	EXEC @status= SP_OAGetProperty @object,'responseText',@returnText OUT
    
    	IF @status <> 0 
    
    	BEGIN 
    
    	 EXEC SP_OAGetErrorInfo @object, @errSrc OUT, @returnText OUT
    
    	 RETURN
    
    	END
    END

    3.

    --测试调用 注意 链接必须是 免登录的链接 
    DECLARE @return_value int,
    		@status int,
    		@returnText varchar(2000),
    		@baseURL varchar(max)
    EXEC	@return_value = [dbo].[pro_HttpRequestData]
    		@URL = 'http://127.0.0.1:8080/ths/httpexec.htl?id=123456',
    		@status = @status OUTPUT,
    		@returnText = @returnText OUTPUT;
             SET @returnText = @return_value;
            print @returnText;
    --返回0 说明执行成功,也可也查看调用的方法是否调用

     

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值