Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

cara memanggil layanan web dari t-sql

Anda harus menggunakan SQLCLR atau program eksternal untuk ini. Di SQL 20106 Anda bisa menggunakan R dari TSQL, dan di SQL 2017 Anda juga bisa menggunakan Python. Jarang ada ide bagus untuk membuat panggilan layanan web dari TSQL, dan jika Anda melakukannya, Anda biasanya harus menarik diri dari antrian. Dalam hal ini Anda dapat menggunakan program eksternal.

Proses sp_oaxxx sudah tua, sulit digunakan, sedikit diketahui, memerlukan konfigurasi server yang berbahaya, dll.

Karena itu, inilah beberapa kode yang saya gali dari usenet yang saya tulis sejak lama:

create procedure http_get( @sUrl varchar(200), @response varchar(8000) out)
As
begin
    Declare
      @obj   int
     ,@hr   int
     ,@status int
     ,@msg varchar(255)

       exec @hr = sp_OACreate 'MSXML2.ServerXMLHttp', @obj OUT
       if @hr < 0 begin Raiserror('sp_OACreate MSXML2.ServerXMLHttp failed', 16,1) return 1 end
       exec @hr = sp_OAMethod @obj, 'Open', NULL, 'GET', @sUrl, false
       if @hr <0 begin set @msg = 'sp_OAMethod Open failed' goto eh end
       exec @hr = sp_OAMethod @obj, 'send'
       if @hr <0 begin  set @msg = 'sp_OAMethod Send failed' goto eh end
       exec @hr = sp_OAGetProperty @obj, 'status', @status OUT
       if @hr <0 begin  set @msg = 'sp_OAMethod read status failed' goto eh end
       if @status <> 200  begin set @msg = 'sp_OAMethod http status ' + str(@status) goto eh end
       exec @hr = sp_OAGetProperty @obj, 'responseText', @response OUT
       if @hr <0 begin  set @msg = 'sp_OAMethod read response failed' goto eh end
       exec @hr = sp_OADestroy @obj
       return 0
    eh:
      exec @hr = sp_OADestroy @obj
      Raiserror(@msg, 16, 1)
      return 1
end


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa saja Jenis Kendala yang Tersedia di SQL Server - Tutorial SQL Server / T-SQL Bagian 50

  2. Kondisi Bersyarat di SQL Server

  3. LINQ ke SQL Setiap Baris Ke-N Dari Tabel

  4. SQL Server PILIH TERAKHIR N Baris

  5. Menjalankan total dalam tampilan SQL