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

Data Conversion (SSIS)

Termin Definicja
Data Conversion (SSIS)

Data Conversion (SSIS) to komponent przepływu danych przekształcający wartości między różnymi typami podczas procesu ETL.

Rola komponentu Data Conversion w przepływie danych SSIS

Data Conversion (SSIS) jest transformacją przepływu danych w SQL Server Integration Services. Jej zadaniem jest utworzenie wartości o innym typie danych na podstawie kolumn wejściowych. Komponent stosuje się wtedy, gdy źródło danych udostępnia kolumnę w typie niezgodnym z wymaganiami kolejnego elementu pakietu, na przykład miejsca docelowego, transformacji Sort albo Lookup. Konwersja dotyczy pojedynczych wartości w wierszach przepływających przez komponent, a nie zmiany definicji tabeli źródłowej.

Transformacja zwykle nie zastępuje kolumny wejściowej. Dla wybranych kolumn tworzy kolumny wyjściowe, którym można nadać własne nazwy, a następnie przekazać je do kolejnych komponentów. Oryginalna kolumna może pozostać w strumieniu i być używana niezależnie od wyniku konwersji. Ma to znaczenie przy porównywaniu wartości przed i po przekształceniu albo przy stopniowym przenoszeniu pakietu na nowe źródło danych.

Typy danych, długość i kodowanie znaków

Konfiguracja kolumny wyjściowej określa między innymi typ danych, długość, precyzję i skalę. W SSIS typy przepływu danych są niezależne od nazw typów używanych bezpośrednio w definicji tabeli SQL Server. Przykładowo tekst bez Unicode może być reprezentowany jako DT_STR, tekst Unicode jako DT_WSTR, liczba całkowita jako jeden z typów całkowitoliczbowych, a data i czas jako odpowiedni typ daty dostępny w systemie typów SSIS. Dobór typu musi odpowiadać zarówno wartościom wejściowym, jak i wymaganiom odbiornika.

DT_STR przechowuje tekst jednobajtowy i jest związany z określoną stroną kodową, natomiast DT_WSTR służy do danych Unicode. Przy konwersji między tymi typami trzeba sprawdzić kodowanie znaków oraz możliwą utratę znaków, których docelowa strona kodowa nie reprezentuje. Długość kolumny również ma znaczenie: skrócenie wartości tekstowej może spowodować błąd, ostrzeżenie albo obcięcie danych, zależnie od konfiguracji obsługi błędów i właściwości przepływu. W przypadku liczb dziesiętnych trzeba dodatkowo ustawić precyzję oraz skalę, ponieważ zbyt mały zakres może prowadzić do przepełnienia lub utraty części ułamkowej.

Konwersja wartości a obsługa błędów w pakiecie

Najczęstsze problemy pojawiają się wtedy, gdy rzeczywista zawartość kolumny nie pasuje do typu docelowego. Tekst zawierający znaki inne niż cyfry może uniemożliwić konwersję do typu liczbowego. Podobnie niejednoznaczny zapis daty, pusty ciąg znaków albo wartość przekraczająca zakres typu docelowego może zostać odrzucona. Sama obecność kolumny o poprawnej nazwie nie gwarantuje poprawności transformacji, ponieważ SSIS przetwarza także format i zakres każdej wartości.

W edytorze transformacji można określić zachowanie dla błędów i obcięć, między innymi zatrzymanie komponentu, ignorowanie problemu albo przekierowanie wiersza do wyjścia błędów. Przekierowanie jest użyteczne podczas audytu importu, ponieważ pozwala oddzielić rekordy niezgodne ze schematem od danych zaakceptowanych. W praktycznym pakiecie warto zachować informację o kolumnie powodującej problem oraz o wartości źródłowej, aby można było ustalić, czy przyczyną jest błędny format, nieprawidłowa długość, kodowanie znaków czy zakres liczbowy.

Data Conversion nie jest narzędziem do dowolnego czyszczenia danych. Jeżeli tekst zawiera spacje, separatory tysięcy, symbole walut albo niestandardowe oznaczenia wartości pustych, najpierw może być potrzebna transformacja przygotowująca dane, na przykład Derived Column. Dopiero później konwersja typu ma jednoznaczny materiał wejściowy. Takie rozdzielenie etapów ułatwia testowanie, ponieważ można osobno sprawdzić reguły normalizacji i samo rzutowanie wartości.

Weryfikacja przepływu przed zapisaniem danych

Przy diagnozowaniu pakietu SSIS należy prześledzić cały łańcuch: typ kolumny w źródle, ustawienia Data Conversion, mapowanie kolumn w komponencie docelowym oraz sposób obsługi błędów. Szczególnej kontroli wymagają zmiany schematu źródła, takie jak przejście z tekstu na liczbę, zmiana długości pola albo zastąpienie typu nieobsługującego Unicode typem znakowym. Warto również sprawdzić, czy dalsza transformacja korzysta z nowej kolumny wyjściowej, a nie przez pomyłkę z oryginalnej kolumny wejściowej.

Test powinien obejmować wartości typowe, puste, graniczne, zawierające polskie znaki oraz przypadki niepoprawne. Dla dat należy sprawdzić rzeczywisty format dostarczany przez źródło, a dla liczb separator dziesiętny i zakres wartości. Dla tekstu trzeba porównać długość przed i po konwersji oraz zweryfikować, czy znaki Unicode trafiają do odbiornika bez zastąpienia ich znakami nierozpoznanymi. Jeżeli wiersze są przekierowywane, należy ustalić ich liczbę i przyczynę, zamiast uznawać zakończenie pakietu za dowód pełnej poprawności danych.

W przypadku problemów na laptopie lub komputerze PC analiza może obejmować logi wykonywania pakietu, konfigurację źródła danych oraz zgodność sterowników i środowiska uruchomieniowego z używaną wersją SSIS. Sama transformacja Data Conversion nie naprawia uszkodzonego pliku źródłowego, błędnego połączenia ani nieprawidłowego mapowania. Diagnostyka powinna więc rozdzielić błąd sprzętowy, problem systemowy i błąd konfiguracji pakietu, aby nie zmieniać danych lub ustawień bez potwierdzenia przyczyny.

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