Skapa ett dynamiskt ämne eller meddelande för uppgiften Skicka e-post i SQL Server Integration Services
Den här artikeln visar hur du uppdaterar egenskapen för ett SQL Server Integration Services-objekt (SSIS) vid körning genom att skapa ett egenskapsuttryck.
Ursprunglig produktversion: SQL Server
Ursprungligt KB-nummer: 906547
Inledning
Du kan skapa ett SSIS-paket med hjälp av SQL Server Business Intelligence Development Studio. När du skapar det här paketet kan du skapa ett uttryck för en egenskap för SSIS-paketet för att uppdatera eller fylla i egenskapen vid körning. Om SSIS-paketet till exempel innehåller en Skicka e-post-uppgift kan du skapa ett uttryck för egenskapen Ämne och för MessageSource
egenskapen . Du kan använda egenskapsuttrycket Ämne för att dynamiskt uppdatera ämnet för ett e-postmeddelande. Du kan använda egenskapsuttrycket MessageSource
för att dynamiskt uppdatera variabler i e-postmeddelandet, till exempel variabler som fylls i av en transformering av radantal.
Den här artikeln beskriver hur du skapar ett dynamiskt ämne eller meddelande för uppgiften Skicka e-post.
Mer information
Följande är ett exempel på ett egenskapsuttryck för egenskapen Ämne i en Skicka e-post-uppgift.
"Package>>> " + @[System::PackageName] +" was executed at>>> " + (DT_WSTR, 40) @[System::StartTime] + " by user>>> "
+ @[System::UserName] + " on Machine>>> " + @[System::MachineName]
Om du använder det här exempelegenskapsuttrycket uppdateras ämnet för ett e-postmeddelande dynamiskt. Ämnet innehåller följande information:
- Textinformation I det här exemplet innehåller
Package>>>
e-postmeddelandets ämne textinformation. - Systemvariabler
E-postmeddelandet innehåller följande systemvariabler:PackageName
Paketnamnet.StartTime
Tiden då paketet kördes.UserName
Användaren som körde paketet.MachineName
Namnet på den dator där paketet kördes.
Du kan också inkludera mer information i uttrycket, till exempel en användardefinierad variabel. En Dataflöde uppgift kan till exempel innehålla en transformering av radantal före aktiviteten Skicka e-post. (Transformeringen radantal används för att räkna rader.) Transformeringen radantal fyller i en användardefinierad variabel med namnet @myrowcount. Den här variabeln lagrar antalsinformationen i dataflödet.
Om du bara vill ange att ett e-postmeddelande ska skickas om radantalet är mindre än ett visst värde ändrar du kontrollflödet med hjälp av prioritetsbegränsningar. Gör så här:
I SQL Server Business Intelligence Development Studio högerklickar du på Dataflöde aktivitet och klickar sedan på Lägg till prioritetsbegränsning.
Dubbelklicka på prioritetsbegränsningen som du skapade.
I dialogrutan Prioritetsbegränsning Editor klickar du på Uttryck och villkor i utvärderingsåtgärden.
I rutan Uttryck skriver du uttrycket:
@myrowcount < 2
I dialogrutan Prioritetsbegränsning Editor klickar du på OK.
Om färre än två rader bearbetas i dataflödet skickas ett e-postmeddelande.
Dessutom kan du använda uppgiften Skicka e-post som en del av en felhanterare. Du kanske till exempel vill skicka ett e-postmeddelande till administratörer när ett SSIS-paket inte körs. Det gör du genom att skapa en OnError-händelsehanterare för paketet och sedan lägga till en Skicka e-post-uppgift i händelsehanteraren. Skapa ett ämnesegenskapsuttryck som samlar in den tid då paketet körs, starttiden för containern eller starttiden för händelsehanteraren från de relevanta systemvariablerna. Skapa till exempel ett uttryck som liknar följande:
"Error in the task: " + @[System::SourceName] + "with the ID: " + @[System::SourceID]
+ " has failed at: " + (DT_WSTR, 20) @[System::ContainerStartTime] + "."
Det här exempeluttrycket använder följande systemvariabler:
StartTime
: Tiden då paketet kördes.ContainerStartTime
: Tiden då containern startades.EventHandlerStartTime
: Tiden då händelsehanteraren startade.
Referenser
Mer information finns i följande avsnitt i SQL Server Books Online:
- Använda egenskapsuttryck i paket
- Anvisningar: Skapa ett egenskapsuttryck
- Uttryck för Advanced Integration Services
- Prioritetsbegränsningar
- Ange prioritetsbegränsningar för aktiviteter och containrar
- Händelsehanterare för Integration Services
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för