无法在远程Sql server中使用sp_configure

时间:2013-08-01 14:48:26

标签: sql-server remote-server

我使用sq_configure来使用OLE自动化过程从SQL服务器发送http请求,如

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

然后我构建了一个名为HTTP_Request的存储过程,如下所示

CREATE procedure HTTP_Request( @sUrl varchar(200))
As

Declare
@obj int
,@hr int
,@msg varchar(255)

exec @hr = sp_OACreate 'MSXML2.ServerXMLHttp', @obj OUT
if @hr <> 0 begin Raiserror('sp_OACreate MSXML2.ServerXMLHttp.3.0
failed', 16,1) return end

exec @hr = sp_OAMethod @obj, 'open', NULL, 'POST', @sUrl, false
if @hr <>0 begin set @msg = 'sp_OAMethod Open failed' goto eh end

exec @hr = sp_OAMethod @obj, 'setRequestHeader', NULL, 'Content-Type',
'application/x-www-form-urlencoded'
if @hr <>0 begin set @msg = 'sp_OAMethod setRequestHeader failed' goto
eh end

exec @hr = sp_OAMethod @obj, send, NULL, ''
if @hr <>0 begin set @msg = 'sp_OAMethod Send failed' goto eh end

exec @hr = sp_OADestroy @obj
return
eh:
exec @hr = sp_OADestroy @obj
Raiserror(@msg, 16, 1)
return
GO

我将存储过程称为

USE [master]
GO

DECLARE    @return_value int

EXEC    @return_value = [dbo].[HTTP_Request]
@sUrl = N'url'

SELECT  'Return Value' = @return_value

GO

它在我的本地sql server中工作正常,我可以从数据库发送http请求。

现在我的问题是我可以访问远程sql server,我想在本地系统中使用相同的东西,但是当我尝试执行sp_configure时我不能。我得到了错误

  

找不到存储过程'sp_configure'

任何想法? 这是访问限制的问题吗?

1 个答案:

答案 0 :(得分:3)

抱歉,您无法在WASD上运行sp_configure。即使你可以,你也无法调用OA方法。您需要找到另一种方法来点击您的网页(例如,从您的应用程序而不是存储过程中点击它 - 可以说它应该发生在哪里)。