Hvordan du oppretter en dynamisk emne eller meldingen for Send e-post-aktivitet i SQL Server 2005 Integration Services


INTRODUKSJON


Du kan opprette en Microsoft SQL Server 2005 Integration Services-pakker (SSIS)-pakke ved hjelp av SQL Server Business Intelligence Development Studio. Når du oppretter denne pakken, kan du opprette et uttrykk for en egenskap for inkluderinger for Serverside pakken til å oppdatere eller å fylle ut egenskapen under kjøring. Hvis inkluderinger for Serverside-pakken inneholder en Send e-post-oppgave, kan du for eksempel opprette et uttrykk for egenskapen Emne og for egenskapen MessageSource . Du kan bruke egenskapen uttrykket Emne å dynamisk oppdatere emnet i en e-postmelding. Du kan bruke egenskapen uttrykket MessageSource til å dynamisk oppdatere variabler i e-postmeldingen, for eksempel variabler som er fylt ut av en Transformasjon av antall rader.

Denne artikkelen beskriver hvordan du oppretter en dynamisk emne eller meldingen for aktiviteten Send e-post.

Hvis du vil ha mer informasjon


Følgende er et eksempeluttrykk i egenskapen for emneegenskapen til en aktivitet med Send e-post .
"Package>>> " + @[System::PackageName] +" was executed at>>> " + (DT_WSTR, 40) @[System::StartTime] + " by user>>> " + @[System::UserName] + " on Machine>>> " + @[System::MachineName]
Hvis du bruker denne egenskapen eksempeluttrykk, oppdateres dynamisk emnet i en e-postmelding. Emnet vil inneholde følgende informasjon:
  • Tekstinformasjon
    I dette eksemplet inneholder e-postmeldingen emne til "pakke >>>" tekstinformasjon.
  • Systemvariabler
    E-postmeldingen inneholder følgende Systemvariabler:
    • Pakkenavn
      Pakkenavnet.
    • Starttid
      Tidspunktet da pakken ble utført.
    • Brukernavn
      Brukeren som utførte pakken.
    • Maskinnavn
      Navnet på datamaskinen der pakken ble utført.
Du kan også inkludere mer informasjon i uttrykket, for eksempel en brukerdefinert variabel. En dataflyt aktivitet kan for eksempel inkludere en Transformasjon av antall rader før aktiviteten Send e-post. (Radantall transformasjonen brukes til å telle rader.) Antall rader transformasjonen fyller ut en brukerdefinert variabel som heter @myrowcount. Denne variabelen inneholder count-informasjon i dataflyten.

Hvis du vil angi at en e-postmelding sendes bare hvis den er mindre enn en bestemt verdi, endre Kontrollflyt med prioritet begrensninger. Følg denne fremgangsmåten:
  1. Høyreklikk Data flyt-aktiviteti SQL Server Business Intelligence Development Studio, og deretter Legg til begrensning for RANG.
  2. Dobbeltklikk prioritet-betingelse som du nettopp opprettet.
  3. I dialogboksen Prioritet begrensning redigering Klikk uttrykk og begrensning i
    Evaluering av operasjonen.
  4. I uttrykksboksen, skriver du inn følgende uttrykk:
    @myrowcount < 2
  5. Klikk OKi dialogboksen Prioritet begrensning redigering .
Hvis mindre enn to rader blir behandlet i dataflyten, sendes en e-postmelding.

Du kan også bruke Send e-post-aktivitet som en del av en feilbehandleren. Du kan for eksempel sende en e-postmelding til administratorer når en pakke for inkluderinger for Serverside ikke kjører. Hvis du vil gjøre dette, oppretter en hendelsesbehandling for OnError for pakken, og deretter legge til en oppgave for Send e-post til hendelsesbehandlingen. Opprette et emne egenskapen uttrykk som dekker tiden som pakken kjøres, starttidspunktet for beholderen eller starttidspunktet for hendelsesbehandlingen fra de aktuelle systemvariablene. Hvis du for eksempel Opprett et uttrykk som ligner på følgende.
"Error in the task: " +  @[System::SourceName] + "with the ID: " +  @[System::SourceID] + " has failed at: " + (DT_WSTR, 20) @[System::ContainerStartTime] + "."
Denne eksempeluttrykk bruker følgende Systemvariabler:
  • Starttid
    Tidspunktet når pakken ble utført.
  • ContainerStartTime
    Tiden som startet i beholderen.
  • EventHandlerStartTime
    Tiden som hendelsesbehandlingen er startet.

Referanser


Hvis du vil ha mer informasjon, kan du se følgende emner i SQL Server 2005 Books Online:
  • "Ved hjelp av egenskapen uttrykk i pakker"
  • "Hvordan: opprette et uttrykk i egenskapen"
  • "Avansert Integration Services uttrykk"
  • "Prioritet for begrensninger"
  • "Angir prioritet begrensninger på oppgaver og beholdere"
  • "Integration Services hendelsesbehandlinger"