發表文章

目前顯示的是有「SQL」標籤的文章

如何從 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...

[MSSQL]SQL 中 Case 的使用方法

Case具有兩種格式。簡單Case函數和Case搜索函數。 簡單Case函數 CASE sex          WHEN '1' THEN '男'          WHEN '2' THEN '女' ELSE '其他' END Case搜索函數 CASE WHEN sex = '1' THEN '男'          WHEN sex = '2' THEN '女' ELSE '其他' END

[MS-SQL] 利用資料庫的 Database mail 功能發送郵件 - 3.Send mail test

圖片
Database Mail 設定完成後,接者您可以進行電子郵件的傳送測試,如下圖,點選 [傳送測試電子郵件]。 ​ 請填寫收件者的郵箱,其他欄位可以不作變更,點選 [傳送測試電子郵件] 系統會回應您測試電子郵件已排入佇列中處理,點選 [確定]。 ​ 這時收件者的信箱就可以收到您發出的測試郵件了 ​ 您也可以寫 腳本 進行測試,以下列出簡單的 發信腳本 供參考。 declare @mail_subject nvarchar(max) = '郵件主旨' --郵件主旨 declare @mail_content nvarchar(max) = '郵件內容' --郵件內容 declare @mail_to nvarchar(max) = 'xxxxxx@gmail.com' --文管信箱 exec msdb..sp_send_dbmail         @recipients = @mail_to,        @copy_recipients = '',        @body_format = 'HTML',        @body = @mail_content,          @subject = @mail_subject; 下一篇 定時發送郵件

[MS-SQL] 利用資料庫的 Database mail 功能發送郵件 - 2.Management

圖片
上一篇介紹了 Database mail 的 Setup 現在我們想看看 Database mail 要如何進行 Management ,首先我們還是要進入  Management studio ,在左側的 [物件總管] 找到 [ 管理/ Database Mail ], 並在 Database Mail 項目上按下滑鼠右鍵 ,並選擇 [設定 Database Mail]   ( 如下圖)。 ​ 就可以進入精靈的操作畫面了,請按下一步 ​ 在選取組態工作的畫面上點選第 2 個選項 (管理 Database Mail 帳戶和設定檔),並按下一步 ​ 在管理設定檔管帳戶的畫面中,選擇第 2 項(檢視、變更或刪除現有帳戶),並按下一步 ​ 將 [管理現有帳戶] 畫面中的所有欄位填寫完畢(如下圖),要特別注意您的伺服器是不是要用到 SSL ,如果有需要就一定要勾選它。因為我用的是 Gmail 的郵件帳戶所以的勾選了SSL,並且將通訊埠設定為 587。 ​ 接著就點選完成鈕即可 ​ 成功完成設定了 ​ 下一篇我們會介紹 [電子郵件的傳送測試]

[MS-SQL] 利用資料庫的 Database mail 功能發送郵件 - 1.Setup

圖片
在 MS-SQL 資料庫中有一個功能非常好用, 那就是 Database Mail。 什麼是  Database Mail Database Mail 就是資料庫直接的從  SQL Server Database Engine  將電子郵件訊息傳送出去給收件者, 不需要另外的App。 通常利用 Database mail 發送的訊息 能包含查詢結果,也可以包含來自網路上任何資源的檔案。     Database Mail 要如何安裝 Database Mail  是內建在MS-SQL資料庫中的一個功能, 不需要另外安裝 App,而是以 Management studio 進行管理即可,當我們進入 Management studio 的時候在畫面的左側會出現選單功能,預設是會出現 [物件總管],接下來我們就可以開始設定我們自己的 Database mail 了。  Database Mail  設定 1.在 [物件總管] 中找到 [管理] 項目,並在 [SQL Server 記錄檔] 項目中找出 [Database Mail] 項目。 2.在 Database Mail 項目上按下滑鼠右鍵,其選擇 [設定 Database Mail] 3.選擇第一個項目 (如下圖) 並按下一步 4.選擇您要加入設定檔的帳戶 5.填寫下圖中的資料欄位, 加入您的 SMTP 帳戶並按下一步。 6.您方才設定的設定檔名稱會列出在設定檔的明細中,請勾選它並按下一步。 7.依您個人的需求設定您的系統參數, 通常是可以不用修改,直接按下一步。 8.要來就是點選完成喔 9.等一會兒讓它自己設定一下,通常就幾秒內就可以完成了。 不用懷疑, 就這樣, 裝好了。 再來就是要作 Database Mail  管理了