sql >> Databáze >  >> RDS >> Sqlserver

Jak mohu provést požadavek HTTP ze serveru SQL?

Dostal jsem i jinou odpověď. Vytvořil jsem postup takto

CREATE procedure HTTP_Request( @sUrl varchar(200))
As


Declare
@obj int
,@hr int
,@msg varchar(255)


 exec @hr = sp_OACreate 'MSXML2.ServerXMLHttp', @obj OUT
if @hr <> 0 begin Raiserror('sp_OACreate MSXML2.ServerXMLHttp.3.0
failed', 16,1) return end


exec @hr = sp_OAMethod @obj, 'open', NULL, 'POST', @sUrl, false
if @hr <>0 begin set @msg = 'sp_OAMethod Open failed' goto eh end


exec @hr = sp_OAMethod @obj, 'setRequestHeader', NULL, 'Content-Type',
'application/x-www-form-urlencoded'
if @hr <>0 begin set @msg = 'sp_OAMethod setRequestHeader failed' goto
eh end


exec @hr = sp_OAMethod @obj, send, NULL, ''
if @hr <>0 begin set @msg = 'sp_OAMethod Send failed' goto eh end

 exec @hr = sp_OADestroy @obj
return
eh:
exec @hr = sp_OADestroy @obj
Raiserror(@msg, 16, 1)
return
GO

Zavolal jsem uloženou proceduru s url

USE [master]
GO

 DECLARE    @return_value int

EXEC    @return_value = [dbo].[HTTP_Request]
    @sUrl = N'url'

SELECT  'Return Value' = @return_value

GO

Děkuji vám hoši, že jste mě přiměli k tomu.



  1. Najít a nahradit celou databázi mysql

  2. Jak získat plovoucí výsledek dělením dvou celočíselných hodnot pomocí T-SQL?

  3. Fáze optimalizace a promarněné příležitosti

  4. Přidejte nový sloupec tabulky na konkrétní řadovou pozici v Microsoft SQL Server