Să presupunem că trebuie să urmărim când procesul cu numele WinRAR.exe se termină pe calculatorul nostru. și urmați imediat pașii din pachetul SSIS. Pentru simplificare, aceste acțiuni vor simboliza sarcina de lucru. care afișează o casetă de mesaje standard. Soluția problemei noastre poate arăta astfel:
1. Creați un nou pachet SSIS gol.
2. Trageți elementul Task Watcher pentru WMI Event în fila Control Flow din Toolbox și deschideți proprietățile sale (comanda Edit din meniul contextual) și apoi accesați fila Options WMI.
3. În lista opusă proprietății WmiConnection, selectați Conectare nouă WMI și configurați proprietățile Managerului de conexiune WMI care este creat (a se vedea Figura 9.10).
Fig. 9.8. Configurarea Managerului de conectare WMI
4. Selectați sursa de interogare dorită utilizând proprietatea WmiQuerySourceType (în exemplul nostru, Direct Input), apoi introduceți textul interogării ca valoare pentru proprietatea WqlQuerySource. de exemplu:
selectați * de la __instancedeletionvent în 1
unde TargetInstance este 'Win32_Process' ȘI TargetInstance.Name = 'WinRAR.exe'
Această solicitare cu un interval de 1 secundă va face sondaj pentru obiectul Win32_Process pentru a finaliza procesul cu numele WinRAR.exe.
5. Pentru proprietatea ActionAtEvent, configurați jurnalul evenimentul și trageți parametrul Event SSIS astfel încât atunci când apare un eveniment WMI, informațiile despre acesta nu sunt doar scrise în protocolul de execuție a pachetului, dar evenimentul pachetului funcționează. Pentru proprietățile rămase ale Activității Watcher WMI, puteți lăsa valorile implicite.
6. Mergeți la Designer WMI din fila Handlers Event și din lista Executable selectați WMI Event Watcher Task. și în lista Handler de evenimente, utilizați procedura WMIEventWatcherEventOccured și faceți clic pe Click aici pentru a crea un handler de evenimente "WMIEventWatcherEventOccured".
7. Configurați răspunsul la un eveniment sub forma unei sarcini de lucru. Pentru a face acest lucru, glisați Task Task din caseta de instrumente în câmpul roz deschis din fila Handlers evenimente și setați proprietățile. În fila Proprietăți a acestei sarcini, faceți clic pe butonul Design Script și introduceți codul necesar pentru procedura Main (). De exemplu:
MsgBox ("evenimentul WMI declanșat!")
8. Rulați pachetul pentru execuție. De îndată ce executăm și închidem WinRAR imediat, procedura de eveniment cu Script Task va funcționa imediat (a se vedea Figura 9.11).
Fig. 9.11. Pachetul nostru a răspuns la finalizarea dezarhivării
Containerele sunt sarcini speciale de control al debitului, care sunt proiectate pentru a se potrivi cu alte sarcini de control al debitului. Practic, containerele sunt folosite pentru a organiza cicluri în pachete. În SSIS există patru tipuri de containere:
Toate containerele sunt disponibile în caseta de instrumente din fila Control Flow. cu excepția gazdei de activități. Acest container este creat automat pentru orice sarcină și este folosit pentru a stoca valorile de proprietate configurate pe ecranul grafic SSIS Designer pentru această sarcină. Nu poate fi văzut în SSIS Designer - poate fi accesat numai din codul programului.
Container pentru buclă
Acest container este conceput pentru a organiza un ciclu. Există trei caracteristici principale pentru acest container:
1. InitExpression - definește valoarea inițială a contorului. De exemplu, dacă pachetul nostru definește o variabilă intregă, atunci valoarea acestei proprietăți poate arăta ca @Counter = 0;
2. EvalExpression este o expresie de test. Bucla va fi executată până când această expresie nu va fi adevărată. De exemplu, dacă trebuie să efectuăm câteva sarcini de cinci ori, atunci valoarea acestei proprietăți poate arăta ca @Counter <5;
3. AssignExpression este o expresie care va schimba valoarea contorului nostru. În exemplul nostru, ar putea să arate, de exemplu, ca @Counter = @Counter + 1.
După configurarea proprietăților acestui container, va trebui pur și simplu să tragem și să abandonăm sarcinile necesare (sau un set de sarcini) din ToolBox și să le configuram.