zoukankan      html  css  js  c++  java
  • sql server 调用webservice

    sql server版本2008以上,应该都可以

    更改服务器配置

    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    sp_configure 'Ole Automation Procedures', 1;
    GO
    RECONFIGURE;
    GO

    sql 代码:

    declare @ServiceUrl as varchar(1000) 
    declare @UrlAddress varchar(500)
    
    --WebService地址:以http开头,结尾带斜杠,例如'http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx/' 
    set @UrlAddress = 'http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx/'
    
    declare @FunName varchar(50)
    --WebService中调用的方法名:例如'qqCheckOnline'
    set @FunName = 'qqCheckOnline'   
    
    --以下参数对应WebService中参数的[参数名]
    declare @P1 varchar(800),@P2 varchar(100)
    set @P1 = 'qqCode'
    --set @P2 = 'userid'
    
    declare @P1_Value varchar(100),@P2_Value varchar(100)
    set @P1_Value = '8698053'
    --set @P2_Value = ''
    
    set @ServiceUrl = @UrlAddress + @FunName + '?' + @P1 + '=' + @P1_Value --+'&' + @P2 + '=' + @P2_Value                       
                      
    Declare @Object as Int
    Declare @ResponseText as Varchar(8000)
                      
    --创建 OLE 对象的实例。
    --sp_OACreate { progid | clsid } , objecttoken OUTPUT [ , context ] 
    --返回的对象令牌,并且必须是数据类型为 int 的局部变量。 该对象令牌用于标识所创建的 OLE 对象,并用于调用其他 OLE 自动化存储过程。
    Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
    --sp_OAMethod   调用一个 OLE 对象的方法。
    Exec sp_OAMethod @Object, 'open', NULL, 'get',@ServiceUrl,'false'
    Exec sp_OAMethod @Object, 'send'
    Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
         
    Select @ResponseText     
    Exec sp_OADestroy @Object  --破坏已创建的 OLE 对象。--如果未调用 sp_OADestroy,则在批处理结束时将自动破坏已创建的 OLE 对象。
    --当不再需要对象时,调用 sp_OADestroy 释放使用 sp_OACreate 创建的对象实例。
    GO
  • 相关阅读:
    mysql 触发器
    Yii 1.0 基础
    python解释执行原理(转载)
    python中使用selenium调用Firefox缺少geckodriver解决方法
    Python中os和shutil模块实用方法集锦
    pytesseract使用
    anaconda安装第三方库
    anaconda spyder异常如何重新启动
    windows下python3.6 32bit 安装django
    设置SO_RECVBUF和SO_SENDBUF套接字选项
  • 原文地址:https://www.cnblogs.com/davidhou/p/5868136.html
Copyright © 2011-2022 走看看