如何為 SQL Server 2005 Integration Services 中的傳送郵件工作建立動態主旨或訊息

文章翻譯 文章翻譯
文章編號: 906547 - 檢視此文章適用的產品。
Beta 版資訊
本文將告訴您 Beta 版的 Microsoft 產品。本文中的資訊係依「現況」提供,如有變更恕不另行通知。

Microsoft 不提供本 Beta 版產品的一般產品支援。如需有關如何取得 Beta 版本支援的詳細資訊,請參閱隨附於 Beta 版產品檔案中的說明文件,或是造訪下載此版本產品的網站。
全部展開 | 全部摺疊

簡介

您可以使用 SQL Server Business Intelligence Development Studio 來建立 Microsoft SQL Server 2005 Integration Services (SSIS) 封裝。當您建立這個封裝時,可以為 SSIS 封裝的屬性建立運算式,以便在執行階段中更新或擴展屬性。例如,如果 SSIS 封裝包含「傳送郵件」工作,您可以建立 Subject 屬性和 MessageSource 屬性的運算式。您可以使用 Subject 屬性運算式來動態更新電子郵件的主旨。您可以使用 MessageSource 屬性運算式來動態更新電子郵件中的變數,例如由「資料列計數」轉換所填入的變數。

本文將告訴您如何為「傳送郵件」工作建立動態主旨或訊息。

其他相關資訊

下面是「傳送郵件」工作中 Subject 屬性的屬性運算式範例。
"Package>>> " + @[System::PackageName] +" was executed at>>> " + (DT_WSTR, 40) @[System::StartTime] + " by user>>> " + @[System::UserName] + " on Machine>>> " + @[System::MachineName]
如果您使用這個屬性運算式範例,電子郵件的主旨就會動態更新。主旨將包含下列資訊:
  • 文字資訊
    在這個範例中,電子郵件主旨包含 "Package>>>" 文字資訊。
  • 系統變數
    電子郵件包含下列系統變數:
    • PackageName
      封裝名稱。
    • StartTime
      執行封裝的時間。
    • UserName
      執行封裝的使用者。
    • MachineName
      執行封裝的電腦名稱。
您也可以在運算式中包含更多的資訊,例如使用者定義的變數。例如,「資料流程」工作可以在「傳送郵件」工作之前包含「資料列計數」轉換 (「資料列計數」轉換是用於計算資料列數)。「資料列計數」轉換會擴展名為 @myrowcount 的使用者定義變數。這個變數會將計數的資訊儲存在資料流程中。

如果要指定只在資料列計數小於特定值時才傳送電子郵件,請使用優先順序條件約束來修改控制流程。如果要執行這項操作,請依照下列步驟執行:
  1. 在 SQL Server Business Intelligence Development Studio 中,用滑鼠右鍵按一下 [資料流程工作],然後按一下 [加入優先順序條件約束]
  2. 按兩下剛才建立的優先順序條件約束。
  3. [優先順序條件約束編輯器] 對話方塊中,按一下 [評估作業] 中的 [運算式與條件約束]
  4. [運算式] 方塊中,輸入下列運算式:
    @myrowcount < 2
  5. [優先順序條件約束編輯器] 對話方塊中,按一下 [確定]
如果資料流程中處理的資料列少於兩列,便會傳送電子郵件。

此外,您可以在錯誤處理常式中使用「傳送郵件」工作。例如,您可能會想要在 SSIS 封裝沒有執行時傳送電子郵件給系統管理員。如果要執行這項操作,請為封裝建立 OnError 事件處理常式,然後在事件處理常式中加入「傳送郵件」工作。請建立主旨屬性運算式,以便從相關系統變數擷取執行封裝的時間、容器的開始時間或事件處理常式的開始時間。例如,建立一個類似下列的運算式。
"Error in the task: " +  @[System::SourceName] + "with the ID: " +  @[System::SourceID] + " has failed at: " + (DT_WSTR, 20) @[System::ContainerStartTime] + "."
這個範例運算式使用下列系統變數:
  • StartTime
    執行封裝的時間。
  • ContainerStartTime
    容器開始的時間。
  • EventHandlerStartTime
    事件處理常式開始的時間。

?考

如需詳細資訊,請參閱《SQL Server 2005 線上叢書》的下列主題:
  • <在封裝中使用屬性運算式>(Using Property Expressions in Packages)
  • <HOW TO:建立屬性運算式>(How to: Create a Property Expression)
  • <進階 Integration Services 運算式>(Advanced Integration Services Expressions)
  • <優先順序條件約束>(Precedence Constraints)
  • <設定工作和容器的優先順序條件約束>(Setting Precedence Constraints on Tasks and Containers)
  • <Integration Services 事件處理常式>(Integration Services Event Handlers)

屬性

文章編號: 906547 - 上次校閱: 2006年1月12日 - 版次: 1.1
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2005 Standard Edition Community Technology Preview
  • Microsoft SQL Server 2005 Developer Edition Community Technology Preview
  • Microsoft SQL Server 2005 Enterprise Edition Community Technology Preview
關鍵字:?
kbsql2005ssis kbhowto KB906547
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com