如何从SQL Server发出HTTP请求?
我想从SQL服务器向Tomcat服务器发送HTTP请求" title="HTTP请求">HTTP请求。我已在Tomcat服务器中安装了SQL Server 2012
Express和非.NET应用程序。我已经经历过像从SQL服务器发出HTTP请求这样的过程
正如上面文章中所说,“必须在服务器上安装COM对象WinHttp.WinHttpRequest.5.1,其中一些典型的变化是WinHttp.WinHttpRequest.5”。我已经从winhttp下载链接下载了
winhttp.zip,在zip文件夹中找到了winhttp.dll,并C:\Program Files\Microsoft SQL
Server\MSSQL11.MSSQLSERVER2\MSSQL\Binn按照此msdn链接中的建议将其粘贴了。
遵循相同的建议,我在SSMS中执行了以下代码:
sp_addextendedproc 'GetHttp', 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER2\MSSQL\Binn\winhttp.dll';
我还在SSMS中执行了以下代码,如“从SQL Server链接发出HTTP请求”中所述:
Alter function GetHttp(
@url varchar(8000)
)
returns varchar(8000)
as
BEGIN
DECLARE @win int
DECLARE @hr int
DECLARE @text varchar(8000)
EXEC @hr=sp_OACreate 'WinHttp.WinHttpRequest.5.1',@win OUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win, 'Open',NULL,'GET',@url,'false'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win,'Send'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAGetProperty @win,'ResponseText',@text OUTPUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OADestroy @win
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
RETURN @text
END
然后我得到了错误
消息2010,级别16,状态1,过程GetHttp,第2行
无法在’GetHttp’上执行更改,因为它是不兼容的对象类型。
我不知道如何调用该函数来发送HTTP请求。我认为是这样的GetHttp('http://www.google.co.in/')
。
我想念什么?
回答:
我通过powershell得到了答案。我所做的是在sql server中打开powershell,然后在powershell中执行了以下代码。
$http_Request= New-Object system.Net.WebClient;$Result = $http_Request.downloadString("url")
以上是 如何从SQL Server发出HTTP请求? 的全部内容, 来源链接: utcz.com/qa/431768.html