Dość często dane trafiają do nas w postaci pliku excel i należy je zaimportować do bazy danych. Jeżeli zdarzać się to będzie często, można pokusić się o stworzenie odpowiedniego mechanizmu w postaci pakietu SSIS. Załóżmy, że wszystkie nowe pliki trafiają do jednego wybranego folderu, a my będziemy wczytywać ich zawartość do jednej tabeli w bazie danych na SQL Server.
Zaczynamy od położenia na formularzu kontenera foreach loop
W właściwościach kontrolki wskaż folder i rozszerzenie plików podlegających importowi:
Ponieważ kolejne kroki muszą znać nazwę pliku, który ma być importowany, musimy gdzieś zapamiętać jego nazwę.
W kontenerze umieść zadanie typu Data FLow
W tym zadaniu potrzebne będzie tylko źródło danych (plik excel) oraz ADO.NET destination (SQL server)
Zacznij od skonfigurowania źródła danych. Pocątkowo wskaż na jeden dowolny plik excel odpowiedniej strukturze danych
Wskaż, jak będzie się nazywał arkusz, z którego chcesz zaimportować dane:
To na razie tyle, jeżeli chodzi o excela. Teraz skonfiguruj połączenie do SQL server. Wskaż nazwę serwera i tabelę, do jakiej mają być zaimportowane dane:
Zmapuj ze sobą dane z arkusza z danymi w bazie
No i teraz haczyk. Import nie miał się odbywać z jednego wskazanego przez nas na sztywno pliku. Dlatego ptrzeba zmodyfikować Connection Managera sięgającego do plików excel:
Przyjrzyj sie polu Expression
Użyj stworzonej wcześniej zmiennej wskazującej na ścieżkę aktualnie przetwarzanego pliku Excel:
Teraz można już uruchomić pakiet…