如何從 SQL Server 預存程序呼叫 API (Calling an API from SQL Server stored procedure)
在 SQL Server 預存程序中呼叫 API,通常需要使用 SQL Server 的內建功能,例如 sp_OA* 系列存儲過程 或基於 CLR 的自定義功能。以下是幾種實現方式及其步驟。 方法 1:使用 sp_OA* 系列存儲過程 SQL Server 內建了 sp_OACreate 和 sp_OAMethod 等存儲過程,可以用來呼叫外部 COM 物件(例如用於發送 HTTP 請求)。 範例:透過 sp_OA* 呼叫 REST API sql CREATE PROCEDURE CallExternalAPI AS BEGIN DECLARE @Object INT DECLARE @ResponseText NVARCHAR(MAX) DECLARE @URL NVARCHAR( 200 ) = 'https://api.example.com/data' -- 創建對象 EXEC sp_OACreate 'MSXML2.XMLHTTP' , @Object OUT -- 發送 HTTP GET 請求 EXEC sp_OAMethod @Object , 'Open' , NULL , 'GET' , @URL , FALSE EXEC sp_OAMethod @Object , 'Send' -- 獲取響應 EXEC sp_OAMethod @Object , 'responseText' , @ResponseText OUTPUT -- 打印響應內容 PRINT @ResponseText -- 清理對象 EXEC sp_OADestroy @Object END GO 注意 安全性 : sp_OA* 功能默認是禁用的,因為它存在安全風險。您需要啟用它才能使用: sql EXEC sp_configure 'show advanced options' , 1 ; RECONFIGURE; EXEC sp_configure 'Ole A...