Witam ponownie,
nowy problem - mam nadzieję nowa podpowiedź ;) Ok zatem mam paczkę w SSIS która mi wypełnia tabelę danymi jak tam potrzebuję. Dla jednej z kolumn potrzebuję wyliczyć aktualny LeadTime w dniach roboczych. Także stworzyłem funkcję to mierzącą (w Scalar-valuated Functions) i teraz... okazało się, że takie funkcje nie mogą być wykorzystane w SSIS, a przynajmniej nie w standardowym bloku gdzie wykonuje kod SQL (czyli "Execute SQL Task"). Ok google Twój przyjaciel - i już wiemy, że można użyć OLE DB Command (wewnątrz bloku Data Flow Task) - wolniejsze to i w ogóle ale w moim przypadku powinno być OK (niezbyt trudna funkcja).
I teraz mój problem ... Okazuje się, że funkcja działa i wylicza co trzeba ... ale hmm nie wychodzi poprawnie z bloku. Tzn. blok uruchamia się w swojej kolejce ... i móżdży i móżdży i możdży, a przynajmniej tak pokazuje VisualStudio ... faktycznie zaś operacja została wykonana (sprawdzałem dane są wyliczone) - ale zadanie nie zostało zakończone przez co nie może przejść dalej i cała paczka "wisi". Ilość rekordów w całej tablicy to około 500k - rekordów do zmiany/wyliczenia jakieś 230k - zmiana trwa z 10sec max.
Także Panie i Panowie co robić ? Jak żyć ? ... jakieś rozwiązanie na ten problem ? A może podpowiecie dokładnie jak użyć tej funkcji w paczce SSIS inną metodą ?
Będę wdzięczny za każdą podpowiedź tudzież całkowite rozwiązanie :D
Pozdrawiam,
BB
EDIT: Może powinienem dodać, że dla mniejszej ilości danych 1k wszystko gra - tj. kłopotliwy blok robi swoje i przechodzi dalej. Zauważyłem też, że ten blok się jakby zapętla .. .tzn jak się ciągle kręci, a ja w tym czasie wyczyszczę pole które aktualizuje to on je na nowo wypełnia dla wszystkich rekordów i robi to w chwile ... :|