sqlserver2008存储过程发送post请求的传参问题

我需要用存储过程去post后台,我是这样写的:

if (exists (select * from sys.objects where name = 'PROC_SEOrder'))
    drop proc PROC_SEOrder
go

CREATE PROCEDURE PROC_SEOrder
    @msgId varchar(100)        --SEOrder表的id字段
AS
BEGIN

    declare @object int            --OLE对象实例
    declare @responseText varchar(4000) --文本
 
    declare @ServiceUrl as varchar(4000)
    set @ServiceUrl = 'http://172.16.68.74:8080/synchronous/hello'
    DECLARE @data varchar(max);
    --发送数据
    set @data='{  
                "id":'+@msgId+',
                "jzlb":2
            }'                    
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/json'
Exec sp_OAMethod @Object, 'send', NULL, @data --发送数据
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
EXEC sp_OAGetErrorInfo @Object --异常输出
Select  @ResponseText
Exec sp_OADestroy @Object
 
    SET NOCOUNT ON;
    
END

然后现在可以成功的请求到后台,但是参数好像没传过去,请问这种传参的正确写法是什么?
然后假如我后台要用类似request.getParamter("key")的方式取值,那这个key到底是上面的哪个变量?

阅读 2.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏