SQL Server 2005中的sp_OAMethod http状态错误

时间:2013-10-29 13:54:56

标签: sql sql-server

我在SQL Server 2005中创建了一个存储过程来调用XMLHTTPRequest

这是我的程序:

CREATE PROCEDURE HTTP_REQUEST
( 
    @URI varchar(200), 
    @response varchar(8000) OUT
)
AS
  DECLARE
     @xhr INT
     ,@result INT
     ,@httpStatus INT
     ,@msg VARCHAR(255)


  EXEC @result = sp_OACreate 'MSXML2.XMLHttp.5.0', @xhr OUT

IF @result <> 0 BEGIN RAISERROR('sp_OACreate on MSXML2.XMLHttp.5.0 failed', 16,1) RETURN 
END

EXEC @result = sp_OAMethod @xhr, 'open', NULL, 'GET', @URI, false
IF @result <>0 BEGIN RAISERROR('sp_OAMethod Open failed', 16,1) RETURN 
END

EXEC @result = sp_OAMethod @xhr, SEND, NULL, ''
IF @result <>0 BEGIN RAISERROR('sp_OAMethod SEND failed', 16,1) RETURN 
END

EXEC @result = sp_OAGetProperty @xhr, 'status', @httpStatus OUT
print 'Status: ' +convert(varchar(10),@httpStatus)
IF @result <>0 
    BEGIN RAISERROR('sp_OAMethod read status failed', 16,1) RETURN 
    END

IF @httpStatus <> 200 BEGIN RAISERROR('sp_OAMethod http status bad', 16,1) RETURN 
END

EXEC @result = sp_OAGetProperty @xhr, 'responseText', @response OUT
IF @result <>0 BEGIN RAISERROR('sp_OAMethod read response failed', 16,1) RETURN 
END

EXEC @result = sp_OADestroy @xhr
RETURN
GO

但当我执行时,它会给出错误,如..

  

状态:500个
  sp_OAMethod http状态不好..

我已经跑了

enable sp_configure 'Ole Automation Procedures', '1'
GO
reconfigure
GO

但仍然会导致错误。

有人可以告诉我这应该是什么问题吗?

0 个答案:

没有答案