1

我在 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

但它仍然会导致该错误。

谁能告诉我这应该是什么问题?

4

0 回答 0