Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Flat File Source

Termin Definicja
Flat File Source

Flat File Source to komponent przepływu danych SSIS wczytujący dane bezpośrednio z prostego pliku tekstowego.

Flat File Source w przepływie danych SSIS

Flat File Source jest komponentem przepływu danych w SQL Server Integration Services, czyli w platformie SSIS używanej do budowania pakietów ETL. Jego zadaniem jest odczytanie rekordów z pliku tekstowego i przekazanie ich do dalszych elementów przepływu, na przykład do transformacji, komponentu kontroli jakości danych albo miejsca docelowego. Komponent nie zapisuje danych do pliku i nie pełni funkcji ogólnego menedżera plików. Działa jako źródło w potoku danych, w którym każdy odczytany rekord staje się wierszem z określonym zestawem kolumn.

Źródłem może być plik rozdzielany znakami, taki jak plik CSV, albo plik o stałej szerokości pól. W pierwszym wariancie znaczenie mają między innymi separator kolumn, separator wierszy oraz kwalifikator tekstu, zwykle cudzysłów. Kwalifikator pozwala traktować separator występujący wewnątrz wartości jako część danych, a nie jako granicę następnej kolumny. W wariancie stałej szerokości każda kolumna jest określona przez położenie i długość w rekordzie. Sposób interpretacji pliku nie jest zgadywany na podstawie samego rozszerzenia, lecz wynika z konfiguracji połączenia i metadanych źródła.

Flat File Connection Manager i opis struktury pliku

Flat File Source korzysta z Flat File Connection Manager, który opisuje sposób dostępu do pliku oraz jego układ. W konfiguracji wskazuje się między innymi ścieżkę, format pliku, kodowanie, rodzaj separatora, obecność wiersza nagłówkowego oraz liczbę wierszy pomijanych na początku pliku. Menedżer połączenia przechowuje także definicję kolumn: ich nazwy, kolejność, typ danych, długość i sposób rozmieszczenia w rekordzie. Jeżeli plik zawiera wartości rozdzielane, trzeba poprawnie określić zarówno separator kolumn, jak i separator wierszy.

Istotnym ustawieniem jest strona kodowa, ponieważ określa sposób zamiany bajtów pliku na znaki. Nieprawidłowa strona kodowa może powodować zniekształcenie polskich znaków, błędne rozpoznanie danych albo niepowodzenie odczytu. Znaczenie ma również kwalifikator tekstu. Przykładowo wartość zawierająca separator, znak nowego wiersza lub znak cudzysłowu musi być zapisana w formie zgodnej z regułami danego pliku. W przypadku plików o stałej szerokości niepoprawne długości pól przesuwają interpretację kolejnych kolumn, dlatego nawet pojedyncza zmiana układu rekordu może wpłynąć na cały przepływ.

Typy danych, konwersja i obsługa niepoprawnych rekordów

Flat File Source przekazuje do potoku dane zgodnie z typami i długościami zdefiniowanymi w metadanych kolumn. Wartość odczytana jako tekst nie staje się automatycznie poprawną datą, liczbą lub wartością logiczną tylko dlatego, że wygląda jak taki typ. Na interpretację wpływają także ustawienia regionalne, format daty oraz znak używany jako separator dziesiętny. Jeżeli dane mają być zapisane do miejsca docelowego wymagającego innych typów, w przepływie można zastosować odpowiednią transformację, na przykład Data Conversion albo Derived Column.

Błędy mogą wynikać z niezgodności liczby kolumn, zbyt krótkiej długości pola, nieprawidłowego separatora, nieoczekiwanego znaku końca wiersza, błędnego kodowania lub wartości niemożliwej do przekonwertowania. Dla kolumn i wyjść komponentu dostępne są ustawienia zachowania w razie błędu, obcięcia wartości albo odrzucenia rekordu. W zależności od konfiguracji problematyczny wiersz może zatrzymać przepływ, zostać przekierowany do wyjścia błędów albo zostać pominięty. Samo przekierowanie rekordu nie naprawia danych; umożliwia jedynie ich osobną analizę i późniejsze ustalenie przyczyny.

Diagnostyka odczytu pliku w środowisku SSIS

Analizę problemu warto rozpocząć od porównania rzeczywistego pliku z konfiguracją Flat File Connection Manager. Należy sprawdzić, czy pakiet odczytuje właściwy plik, czy ścieżka jest dostępna w środowisku uruchomieniowym oraz czy plik nie ma innego separatora niż zakładano. Następnie trzeba zweryfikować kodowanie, nagłówki, kwalifikatory tekstu, końce wierszy i długości kolumn. Szczególnie mylące są pliki, w których część rekordów ma inny układ niż pozostałe albo w których wartości tekstowe zawierają separator bez prawidłowego ujęcia w kwalifikator.

W praktyce pomocne jest prześledzenie metadanych na wyjściu Flat File Source oraz sprawdzenie, w którym miejscu przepływu pojawia się błąd. Jeżeli rekordy są odczytywane, lecz wartości są przesunięte, przyczyną jest zwykle niezgodna definicja separatora lub szerokości pól. Jeżeli występuje obcięcie, trzeba porównać długość kolumny z rzeczywistą długością danych. Jeżeli znaki są nieczytelne, należy sprawdzić stronę kodową pliku i ustawienia połączenia. W przypadku zastosowań produkcyjnych ważne jest także jednoznaczne ustalenie schematu pliku, ponieważ Flat File Source opiera się na zadeklarowanych metadanych i nie zastępuje walidacji jakości danych.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę