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 :
/* *************** 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