Własna kontrolka SSIS, część 3 – O pobieraniu danych

Wiemy jak w podstawowy sposób odczytać listę plików w katalogu na serwerze. To teraz pobierzmy te pliki. Jeden z kroków kontenera pakietu SSIS generuje plik tekstowy zawierający listę plików do pobrania. Każdy z plików jest podawany w odrębnej linii – potem wczytamy plik, rozbijemy go na linie i w pętli wczytamy każdy z nich po kolei.

Dla przypomnienia – ważne jest, żeby podawać pełne ścieżki do plików względem katalogu głównego. Przeglądając dokumentację WinSCP zauważyłem jeszcze jedną nowość w wersji 5.8 beta: pojawił się parametr string FullName , który zwraca pełną ścieżkę do pliku. Nie trzeba będzie sklejać parametru przesyłanej ścieżki z nazwą pliku odczytaną jako Name. Ponieważ w kontrolce będziemy korzystać z wersji beta biblioteki to warto mieć na uwadze.

Przejdźmy do kodu. Na razie popatrzymy jak to wygląda w Powershell. Podobnie jak poprzednio zaczynamy od parametrów i funkcji, która pobierze plik. Nadal korzystamy z przykładu z dokumentacji.
Czytaj dalej

Własna kontrolka SSIS, część 2

Tym razem popatrzymy na obsługę jednej z dwóch funkcjonalności kontrolki. Sprawdzimy jakie pliki są na serwerze w katalogu, który nas interesuje, a w następnym poście pobierzemy pliki, które nam wyjdą z przepatrywania metadanych i tabel pomocniczych. Obie funkcjonalności będą obsługiwane z wykorzystaniem winscp.dll.

W obecnym rozwiązaniu pobieranie listy plików wykorzystuje trochę zmodyfikowany przykładowy skrypt przeszukiwania plików katalogu. Ten dostępny na stronie jest nieco bardziej zaawansowany – bo wręcz pobiera pliki i sprawdza ich zawartość, a nas interesuje tylko lista plików (ewentualnie z jakąś maską – np. chcemy tylko pliki .csv). Pierwszy zmodyfikowany fragment definiujący funkcję SearchDirectory poniżej. Czytaj dalej

Własna kontrolka SSIS, część 1

Skoro znamy już wymagania i z grubsza zakres pomyślmy jak podejść do tematu własnej kontrolki. Opcji mamy mnóstwo, ale weźmy pod uwagę dwie:

  • albo patrzymy co mamy i bierzemy pod uwagę, że da się to usprawnić
  • albo wymyślamy koło na nowo

Wybieram bramkę numer jeden. Przyjrzę się co mam teraz i przy dalszej analizie może wyciągnę wnioski co poprawić, co wyciąć, co dodać i może będzie tak, że z początkowego pomysłu zostanie nic. Albo i nic nie zostanie.

Co mamy?

Obecne rozwiązanie przypomina czasem coś co się trzyma na ślinę, sznurek i kawałek taśmy klejącej. Ale działa. Do tego działa dobrze (rzecz jasna o ile nie wystąpią błędy) i nawet da się popatrzeć co się działo po kolei. W końcu prowizorki są najtrwalsze. Czytaj dalej

Własna kontrolka SSIS, część 0

Zadanie jest stosunkowo proste

Słuchaj, bo to jest tak. Na serwer FTP wpadają pliki. Musimy je pobrać do siebie i zasilić bazę danymi. Z tych plików właśnie. No.” Proszę bardzo. Wykorzystujemy do tego SSIS (dla punktu zaczepienia przyjmijmy wersję 2012). Możemy do tego wykorzystać standardową kontrolkę FTP z SSIS. Przeciągamy co trzeba, konfiguracja, kilka poprawek, test i działa – mamy pliki u siebie. Czas na kawę #2.
Czytaj dalej