您目前已離線,請等候您的網際網路重新連線

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

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)
SSIS
內容

文章識別碼:906547 - 最後檢閱時間:01/12/2006 08:55:21 - 修訂: 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
意見反應