TIP [MS-SQL] – Invocare un metodo in un oggetto COM da T-SQL
Nell’esempio si invoca l’oggetto WinHTTP per eseguire una richiesta HTTP da una stored procedure, l’oggetto WinHTTP è una calsse COM, perciò tale esempio è applicabile a qualsiasi classe COM :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
/* *************** ESEMPIO CODICE t-sql ******************* */ CREATE proc dbo.INVIA_RICHIESTA(@Proxy varchar(400), @ProxyByPass varchar(400),@sUrl varchar(400),@sParam varchar(400)) as DECLARE @Hresult int DECLARE @oWinHttp int DECLARE @ErrorSource varchar (255) DECLARE @ErrorDesc varchar (255) DECLARE @Testo varchar (4000) DECLARE @A varchar (400) Set @testo = '' --Create the object EXEC @Hresult = sp_OACreate 'WinHttp.WinHttpRequest.5', @oWinHttp OUT IF @Hresult <> 0 BEGIN EXEC sp_OAGetErrorInfo @oWinHttp, @ErrorSource OUT, @ErrorDesc OUT PRINT '(1)Error Occurred Calling Object: ' + @ErrorSource + ' ' +@ErrorDesc END EXEC @Hresult = sp_OAMethod @oWinHttp, 'SetProxy', NULL , '2' , @Proxy , @ProxyByPass EXEC @Hresult = sp_OADestroy @oWinHttp |