2011-01-10 7 views
6

C'è un modo per permettere un'attività Script a fallire, hanno ancora il risultato dell'esecuzione del pacchetto basata solo sui risultati di esecuzione delle altre compiti? Ad esempio, ho 5 compiti. Non mi interessa quale sia il risultato del compito 2, ma se uno degli altri fallisce, voglio che il pacchetto fallisca. Altrimenti, voglio che abbia successo ...SSIS: consente a un'attività di fallire ma il pacchetto è riuscito?

Questo possibile?

risposta

4

provare a impostare FailPackageOnFailure False nelle proprietà del task.

L'opzione successiva in realtà non funzionerà correttamente, ma potrebbe funzionare per voi: Provate a racchiudere il codice in try catch e usatelo infine per impostare Success per 2 attività che non vi interessano.

 try 
     { 
      // Do work here 
     } 
     catch 
     { 
      // log errors here 
     } 
     finally 
     { 
      Dts.TaskResult = (int)ScriptResults.Success; 
     } 
+0

Sfortunatamente, per diversi motivi, l'attività deve fallire a volte. – nosirrahcd

+0

Questo post ha un collegamento a una soluzione utilizzando EventHandlers: http://stackoverflow.com/questions/140850/the-best-way-for-a-ft-tp-task-to-not-fail-when-there- are-no-files-to-copy/306273 # 306273 –

5

Oltre a impostare FailPackageOnFailure sul compito si dovrebbe anche impostare MaximumErrorCount sulla confezione stessa per qualcosa di più grande di 1. Il compito sarà ancora incrementare il numero di errori dei pacchetti e se il conteggio degli errori supera MaximumErrorCount poi il pacchetto può/fallirà ancora.

+1

Grazie, era MaximumErrorCount che stava fallendo per me! – samjudson

+0

Questo era nel mio caso. Mi hai salvato il tempo. –

Problemi correlati