我在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
但仍然会导致错误。
有人可以告诉我这应该是什么问题吗?