我正在尝试使用SQL Server的sp_OA
方法连接到JSON Web服务。
这是我的脚本(从一个here修改而来):
DECLARE @TheURL VARCHAR(255) = 'http://ip.jsontest.com/' ,-- the url of the web service
@TheResponse NVARCHAR(4000), --the resulting JSON
@source nvarchar(255), --error source
@description nvarchar(255) --error description
DECLARE @obj INT, @hr INT, @status INT, @message VARCHAR(255);
EXEC @hr = sp_OACreate 'MSXML2.ServerXMLHttp', @obj OUT; --not really sure what ProgID or CLSID this is referencing
SELECT @hr
EXEC @hr = sp_OAMethod @obj, 'open', NULL, 'GET', @TheURL, false;
SELECT @hr
IF @hr = 0
EXEC @hr = sp_OAMethod @obj, 'setRequestHeader', NULL, 'Content-Type',
'application/x-www-form-urlencoded';
SELECT @hr
SET @message = 'sp_OAMethod Send failed';
EXEC @hr = sp_OAMethod @obj, send, NULL, '';
SELECT @hr
EXEC sp_OAGetErrorInfo @obj, @source out, @description out
SELECT @source, @description
IF @hr = 0
EXEC @hr = sp_OAGetProperty @obj, 'status', @status OUT;
IF @status <> 200
BEGIN
SELECT @message = 'sp_OAMethod http status ' + Str(@status), @hr = -1;
END;
SET @message = 'sp_OAMethod read response failed';
IF @hr = 0
BEGIN
EXEC @hr = sp_OAGetProperty @obj, 'responseText', @Theresponse OUT;
END;
EXEC sp_OADestroy @obj;
IF @hr <> 0
RAISERROR(@message, 16, 1);
我最终得到一个错误,源是msxml3.dll,描述是
无法建立与服务器的连接
我正在Windows Server 2012上使用SQL Server2017。我已经看到Windows Server 2003和2008的一些解决方案要求应用此修补程序,但是,我认为他们已经在后续版本中修复了该问题。
关于如何解决此错误的任何想法?