Udostępnij za pośrednictwem


Opis przekształcenia synchroniczne i asynchroniczne

Zrozumienie różnicy między synchroniczne i asynchroniczne transformacja w Integration Services, najłatwiej zaczynają zrozumienia transformacja synchronicznych.Synchroniczne transformacja nie odpowiadają Twoim potrzebom, projekt może wymagać asynchronicznego transformacja.

Synchroniczne przekształcenia

Synchroniczne transformacja przetwarza wierszy przychodzących i przekazuje je w wierszu jeden przepływ danych w czas.Dane wyjściowe są synchroniczne z wprowadzania, co oznacza, że występuje w tym samym czas.Dlatego do transformacja danego wiersza, transformacja nie potrzebują informacji dotyczących innych wierszy w zestaw danych.W rzeczywista implementacja buforów przechodzą z jednego składnika do następnego, ale bufory są przezroczyste dla użytkownika i można przyjąć, że każdy wiersz jest przetwarzany osobno są grupowane w wierszach.

Przykładem synchroniczne transformacja jest transformacja konwersji danych.Dla każdego wiersza przychodzących go konwertuje wartość w określonym kolumna i wysyła wiersz w drodze.Podczas każdej operacji dyskretnych konwersji jest niezależna od innych wierszy w zestaw danych.

W Integration Services wykonywanie skryptów i programowania, Określ synchroniczną transformacja przez wyszukiwanie identyfikator składnika wprowadzania i przypisywania go do SynchronousInputID właściwość składnika wyjść.To programowi aparat przepływ danych do przetwarzania każdego wiersza w wejściowych danych i automatycznie wysyłać każdego wiersza do określonego wyjścia.Chcesz, aby każdy wiersz, aby przejść do każdego wyjścia, nie trzeba pisać kodu dodatkowe dane wyjściowe.Jeśli używasz ExclusionGroup właściwość, aby określić wiersze powinny przejść tylko do jednej lub drugiej grupy produktów, jak w transformacja podziału warunkowego należy wywołać DirectRow Metoda, aby wybrać odpowiednie obiekt obiekt docelowy dla każdego wiersza.Gdy wyjście błędu, należy wywołać DirectErrorRow do wysyłania wierszy z problemów w wyniku błędu zamiast domyślnych danych wyjściowych.

Asynchroniczne przekształcenia

Można zdecydować, że projekt nie jest możliwe do transformacja każdego wiersza, niezależnie od innych wierszy, wymaga transformacja asynchronicznego.Nie oznacza to, można przekazać każdy wiersz wzdłuż przepływem danych jest przetwarzany, ale zamiast tego należy asynchronicznie wyprowadzanie danych lub w innej czas, niż dane wejściowe.Na przykład następujące scenariusze wymagają asynchronicznego transformacja:

  • Składnik ma uzyskać kilka buforów danych przed może wykonywać przetwarzania.Przykładem jest transformacja sortowania, gdzie składnik ma przetwarzać kompletny zestaw wierszy w jednej operacji.

  • Składnik ma połączyć wiersze z wielu obrazów wejściowych.Przykładem jest transformacja korespondencji seryjnej, gdy składnik ma badać wiele wierszy z każdego wejścia i scalić je w kolejności sortowania.

  • Nie ma żadnych odpowiedniość między wierszy danych wejściowych i wyjściowych.Przykładem jest wartość zagregowana transformacja, gdy składnik musi dodać wiersz danych wyjściowych do przechowywania obliczonych wartości wartość zagregowana.

W Integration Services wykonywanie skryptów i programowania, określ asynchronicznego transformacja przez przypisanie wartości 0 do SynchronousInputID właściwość składnika wyjść..This tells the data flow engine not to send each row automatically to the outputs.Następnie należy napisać kod jawnie wysłać każdy wiersz do odpowiednich danych wyjściowych przez dodanie go do nowego bufor wyjściowy utworzonego dla wyjściowych transformacja asynchronicznego.

Ostrzeżenie

Ponieważ składnik źródła także jawnie należy dodać każdy wiersz, który czyta ze źródła danych do swoich buforów danych wyjściowych, źródło przypomina transformacja z wyjść asynchronicznego.

Byłoby również możliwość utworzenia asynchronicznego transformacja, emulującym synchroniczne transformacja jawnie kopiując każdego wiersza wejściowego do wyjścia.To podejście może zmienić nazwę kolumny lub konwersji typów danych lub formaty.Jednakże podejście to obniża wydajność.Wyniki z lepszą wydajność można osiągnąć za pomocą wbudowanych składników usług integracji, takich jak kopiowanie kolumny lub konwersji danych.

Ikona usług Integration Services (mała)Bieżąco z usług integracji

Najnowsze pliki do pobrania, artykuły, próbki i wideo firmy Microsoft, jak również wybranych rozwiązań ze Wspólnoty, odwiedź witrynę Integration Services strona na MSDN i TechNet:

Aby otrzymywać automatyczne powiadomienia dotyczące tych aktualizacji, zasubskrybuj źródła danych RSS dostępne na tej stronie.