2012-11-16 13 views
6

Na poniższym rysunku, dlaczego pojemnik z pętlą Foreach kończy się niepowodzeniem pomimo, że ścieżka awarii (w przypadku DFT, która się nie powiodła) jest obsługiwana poprawnie?SSIS - Kontynuacja przepływu pakietów nawet po wykonaniu wewnętrznego zadania w kontenerze pętli Foreach

Jak mogę uruchomić pętlę po zakończeniu obsługi ścieżki awarii?

enter image description here

Jeśli warto wiedzieć, co dzieje się w opakowaniu, tutaj jest sedno:

Mamy wymóg gdzie dane z plików Excela musi być załadowany do DB . Pakiet, który podzielimy każdy plik Excel na pliki CSV (jeden plik CSV na arkusz), ładuje pliki CSV do bazy danych. Jest możliwe, że niektóre arkusze mają problemy (brakujące kolumny, niezgodność danych typu danych ) i takie błędne pliki CSV przechwytywane są przez ścieżkę DFT o niepowodzeniu . Idealnie pakiet musi wznowić przetwarzanie pozostałych plików CSV i pozostałych plików Excela i pomyślnie zakończyć pracę.

Odpowiedz

10

Czy są zdefiniowane zdarzenia EventHandlers dla tego zadania przepływu danych OnError? Jeśli tak, równie dobrze można ustawić zmienną systemową, Propogate (typ Boolean), dla tego zakresu obsługi błędów na "False".

Proszę również przejść przez Gracefully Handing Task Error in SSIS Package

+0

Dzięki! Właśnie to osiągnąłem dzięki [SSIS Foreach Loop Container: Continue on Error] (http://sqlserverselect.blogspot.in/2010/12/ssis-foreach-loop-container-continue-on.html). Zamierzałem odpowiedzieć na własne pytanie za pomocą zrzutu ekranu, ale mnie to pobiło! Twoje zdrowie! – SNag

2

Istnieje właściwość na każdym elemencie SSIS, która jest wywoływana MaximumErrorCount który określa liczbę błędów, że ten konkretny składnik akceptuje zanim braku cały pakiet.

Trzeba zwiększyć tę wartość dla każdego komponentu, który ma być kontynuowany przed awarią.

Powiązane problemy