lunes, 7 de julio de 2014

Consumir RESTFul en SQL Server

Primero tenemos que activar Ole Automation Procedures con las siguientes lineas:

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

Después creamos un objeto MSXML2.XMLHTTP al que se le asigna una URL y un método GET, de la siguiente manera:

DECLARE @Object INT
DECLARE @ResponseText VARCHAR(255)
DECLARE @url VARCHAR(MAX)

SET @url = 'http://freegeoip.net/json/189.158.46.223'

EXEC sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
EXEC sp_OAMethod @Object, 'open', NULL, 'get', @url, 'false'
EXEC sp_OAMethod @Object, 'send'
EXEC sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT

SELECT @ResponseText AS RESPONSE

EXEC sp_OADestroy @Object

No hay comentarios: