Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak mogę wykonać żądanie HTTP z serwera SQL?

Dostałem też inną odpowiedź. Stworzyłem procedurę jak poniżej

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

Wywołałem procedurę składowaną z adresem URL

USE [master]
GO

 DECLARE    @return_value int

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

SELECT  'Return Value' = @return_value

GO

Dziękuję wam, że zmusiliście mnie do pracy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Importuj „xml” do serwera SQL

  2. Jak naprawić błąd „Dostawca nazwanych potoków, błąd 40 — nie można otworzyć połączenia z serwerem SQL Server”?

  3. SQL Server 2008 nie może się zalogować za pomocą nowo utworzonego użytkownika

  4. Monitorowanie bazy danych SQL Server TempDB przy użyciu widoków zarządzania dynamicznego (DMV)

  5. Jak wykryć i powiązać zmiany między wartościami wierszy w tabeli SQL?