INTRODUCERE
Puteți crea un pachet Microsoft SQL Server 2005 Integration Services (SSIS) utilizând SQL Server Business Intelligence Development Studio. Atunci când creați acest pachet, puteți să creați o expresie pentru o proprietate a pachetului SSIS pentru a actualiza sau pentru a popula proprietatea la Runtime. De exemplu, dacă pachetul SSIS conține o activitate de trimitere a corespondenței, puteți să creați o expresie pentru proprietatea subiect și pentru proprietatea MessageSource . Puteți utiliza expresia proprietății subiect pentru a actualiza dinamic subiectul unui mesaj de e-mail. Puteți utiliza expresia de proprietate MessageSource pentru a actualiza dinamic variabilele din mesajul de e-mail, cum ar fi variabilele care sunt populate de o transformare număr de rânduri. Acest articol vă prezintă cum să creați un subiect sau un mesaj dinamic pentru activitatea de trimitere a corespondenței.
Mai multe informații
Următoarea este o expresie de proprietate eșantion pentru proprietatea subiect într-o activitate de trimitere a corespondenței.
"Package>>> " + @[System::PackageName] +" was executed at>>> " + (DT_WSTR, 40) @[System::StartTime] + " by user>>> " + @[System::UserName] + " on Machine>>> " + @[System::MachineName]
Dacă utilizați această expresie a proprietății eșantion, subiectul unui mesaj de e-mail este actualizat în mod dinamic. Subiectul va include următoarele informații:
-
Informații textÎn acest exemplu, subiectul mesajului de e-mail include informațiile text "pachet>>> ".
-
Variabile de sistemMesajul de e-mail include următoarele variabile de sistem:
-
PackageName Numele pachetului.
-
StartTime Ora la care a fost executat pachetul.
-
UserName Utilizatorul care a executat pachetul.
-
MachineName Numele computerului pe care a fost executat pachetul.
-
De asemenea, puteți să includeți mai multe informații în expresie, cum ar fi o variabilă definită de utilizator. De exemplu, o activitate flux de date poate include o transformare număr de rânduri înainte de activitatea de trimitere a corespondenței. (Numărul de rânduri de transformare este utilizat pentru a număra rândurile.) Transformarea Count Row populează o variabilă definită de utilizator numită @myrowcount. Această variabilă stochează informațiile Count în fluxul de date. Pentru a specifica faptul că un mesaj de e-mail se trimite numai dacă numărul de rânduri este mai mic decât o anumită valoare, modificați fluxul de control utilizând restricții de prioritate. Pentru a face acest lucru, urmați acești pași:
-
În SQL Server Business Intelligence Development Studio, faceți clic cu butonul din dreapta pe activitate flux de date, apoi faceți clic pe Adăugare restricție de prioritate.
-
Faceți dublu clic pe restricția de prioritate pe care tocmai ați creat-o.
-
În caseta de dialog Editor restricție prioritate , faceți clic pe expresie și restricție în operațiunea de evaluare.
-
În caseta expresie , tastați următoarea expresie:
@myrowcount < 2
-
În caseta de dialog Editor restricție prioritate , faceți clic pe OK.
Dacă sunt prelucrate mai puțin de două rânduri în fluxul de date, se trimite un mesaj de e-mail. În plus, puteți utiliza activitatea trimitere corespondență ca parte a unui handler de erori. De exemplu, poate doriți să trimiteți un mesaj de e-mail administratorilor atunci când un pachet SSIS nu se execută. Pentru a face acest lucru, creați un handler de eveniment LaEroare pentru pachet, apoi adăugați o activitate trimitere corespondență la rutina de tratare a evenimentului. Creați o expresie de proprietate subiect care captează timpul de execuție a pachetului, ora de început a containerului sau ora de început a rutinei de tratare a evenimentului din variabilele de sistem relevante. De exemplu, creați o expresie similară cu cea de mai jos.
"Error in the task: " + @[System::SourceName] + "with the ID: " + @[System::SourceID] + " has failed at: " + (DT_WSTR, 20) @[System::ContainerStartTime] + "."
Această expresie eșantion utilizează următoarele variabile de sistem:
-
StartTimeOra la care a fost executat pachetul.
-
ContainerStartTimeOra la care a început containerul.
-
EventHandlerStartTimeOra la care a început rutina de tratare a evenimentului.
Referințe
Pentru mai multe informații, consultați următoarele subiecte în SQL Server 2005 Books Online:
-
"Utilizarea expresiilor de proprietate în pachete"
-
"Instrucțiuni: crearea unei expresii de proprietate"
-
"Expresii avansate pentru integrarea serviciilor"
-
"Restricții de prioritate"
-
"Stabilirea restricțiilor de prioritate pentru activități și containere"
-
"Rutine de tratare a evenimentelor pentru integrarea serviciilor"