zoukankan      html  css  js  c++  java
  • sqlserver使用存储过程发送http请求

    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.建一个存储过程[P_GET_HttpRequestData]

    GO
    /****** Object: StoredProcedure [dbo].[P_GET_HttpRequestData] Script Date: 11/21/2019 08:38:32 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    Create PROCEDURE [dbo].[P_GET_HttpRequestData](
    @URL varchar(500),
    @status int=0 OUT
    )
    AS
    BEGIN
    DECLARE @object int,
    @errSrc int
    /*初始化对*/
    declare @str nvarchar(200)
    declare @ResponseText nvarchar(200)
    EXEC @status = SP_OACreate 'Msxml2.ServerXMLHTTP.3.0', @object OUT;
    print '===================='
    print @object
    IF @status <> 0
    BEGIN
    EXEC SP_OAGetErrorInfo @object, @errSrc OUT
    RETURN
    END
    /*创建链接*/
    EXEC @status= SP_OAMethod @object,'open',NULL,'GET',@URL
    IF @status <> 0
    BEGIN
    EXEC SP_OAGetErrorInfo @object, @errSrc OUT
    RETURN
    END
    EXEC @status=SP_OAMethod @object,'setRequestHeader','Content-Type','application/x-www-form-urlencoded'
    /*发起请求*/
    EXEC @status= SP_OAMethod @object,'send',null
    print '--------------------------------'
    print @str

    print '--------------------------------'
    print @status
    IF @status <> 0
    BEGIN
    EXEC SP_OAGetErrorInfo @object, @errSrc OUT
    RETURN
    END
    Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT --@ResponseText为http返回的内容

    Select @ResponseText
    print @ResponseText
    Exec sp_OADestroy @Object
    END;

    3.调用存储过程执行Url

    declare @url varchar(1000)

    declare  @ddip varchar(100)

    declare  @vipno varchar(100)

    --取IP地址

    SELECT @ddip=sysvalue FROM s_sys where syscode='ddip' 

    --取需要同步的会员编号

     select @vipno=c_vipno from inserted

    --拼接url地址
     set @url='http://'+@ddip+'/DDAPI.aspx?type=tongbuVip&&bh='+@vipno

    执行url
    EXECUTE P_GET_HttpRequestData @url

  • 相关阅读:
    Eclipse配置C++环境
    C++/C中的struct和typedef struct用法和区别
    推荐系统实践(项亮)— 第2章 利用用户行为数据
    推荐系统实践(项亮)— 第1章 好的推荐系统
    语录摘抄(二)
    语录摘抄(一)
    深度学习—BN的理解(一)
    代码题(63)— 字符串拷贝
    代码题(62)— 滑动窗口最大值
    目标检测 — NMS
  • 原文地址:https://www.cnblogs.com/linjincheng/p/11903468.html
Copyright © 2011-2022 走看看