我想将HTTP请求从SQL服务器发送到Tomcat服务器。我已在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")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句