[MSSQL] SSIS 透過指令碼工作寄發信件
續 《SQL Server Agent 排程自動化更新不同 Server 上的資料表》,本篇重點在於透過指令碼工作,實作寄發信件
這裡使用指令碼工作元件,即是寫一段程式碼,實作寄發 email。
在指令碼工作編輯器中,點選編輯指令碼,會出現新的專案。在 ScripMain.cs 裡,實作以下程式碼片段:
在指令碼工作中,使用 Dts 物件中的 Variables 屬性,能存取在封裝中定義的變數 (在指令碼工作中使用變數)。另外,可以透過 Log 方法,紀錄事件資訊 (在指令碼工作中記錄)。
封裝中定義的變數,如下圖,在這篇 Set a parameter in SSIS 提過的步驟。
當封裝中的變數設定好之後,點選指令碼工作編輯器,在 ReadOnlyVariables 中,選擇指令碼工作能夠存取的變數,便能在程式碼中,透過 Dts 物件中的 Variables 屬性存取變數。
執行指令碼工作測試,我們可以在 ScripMain.cs 裡,下中斷點, Debug 起來很方便!
為什麼這裡不是透過傳送郵件工作寄發信件?
傳送郵件工作的 SmtpConnection 設定中,只提供匿名或 Windows 驗證。如需用帳號密碼驗證的話,必須自行以指令碼工作實作。請參閱: How Can I Specify Credentials for Simple Authentication in SSIS SMTP Connection Manager?。