首先:
开启使用扩展存储过程权限 sp_configure 'show advanced options',1; GO RECONFIGURE; GO sp_configure 'Ole Automation Procedures',1; GO RECONFIGURE; GO EXEC sp_configure 'Ole Automation Procedures'; GO
然后编写存储过程:
CREATE PROCEDURE [dbo].[SP_HTTP] @Parametro varchar(10) = NULL?? ? AS ?? ?DECLARE @obj INT ?? ?DECLARE @sUrl varchar(200) ?? ?DECLARE @response INT ?? ? ?? ?SET @sUrl = 'http://localhost/test/test.html?id=' + @Parametro ?? ? ?? ?EXEC sp_OACreate 'MSXML2.ServerXMLHTTP',@obj OUT ?? ?EXEC sp_OAMethod @obj,'Open',NULL,'GET',@sUrl,false ?? ?EXEC sp_OAMethod @obj,'Send' ?? ?EXEC sp_OAGetProperty @obj,'responseText',@response OUT ?? ? ?? ?SELECT @response [response] ?? ?EXEC sp_OADestroy @obj RETURN
访问http请求需要用到扩展存储过程
不过网上看到说使用扩展存储过程有一定的危险
需要做好安全措施什么的
具体我也没多研究毕竟sqlserver只是玩玩
大概是要分配好权限,这些扩展函数默认是public的之类的
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|