Udostępnij za pośrednictwem


Kontener foreach pętli

Kontener pętli Foreach definiuje powtarzanej przepływ sterowania w pakiet.Wykonanie pętli jest podobny do Foreach pętli struktury w językach programowania.W pakiet, pętli jest włączone za pomocą modułu wyliczającego Foreach.Kontener pętli Foreach powtarza przepływ sterowania, każdy element członkowski określony moduł wyliczający.

SQL Server Integration Services provides the following enumerator types:

  • Moduł wyliczający foreach ADO wyliczyć wierszy w tabelach.Na przykład można uzyskać wiersze w zestawu rekordów ADO.

  • Foreach ADO.Moduł wyliczający wierszy schematu NET wyliczyć schematu informacje źródło danych.For example, you can enumerate and get a list of the tables in the AdventureWorks2008R2 SQL Server database.

  • Moduł wyliczający pliku foreach wyliczyć pliki w folderze.Moduł wyliczający mogą przechodzić przez podfoldery.Na przykład można odczytać wszystkie pliki, które mają rozszerzenie nazwy pliku *.log w folderze Windows i jego podfolderów.

  • Moduł wyliczający foreach ze zmiennej wyliczyć agreguje ustalony obiekt, który zawiera określoną zmienną.Agreguje ustalony obiekt może być tablicą obiektów ADO.NET DataTable, Integration Services modułu wyliczającego i tak dalej.Na przykład można wyliczyć wartości tablicę zawierającą nazwy serwerów.

  • Element Foreach modułu wyliczającego do wyliczania elementów kolekcji.Na przykład można wyliczyć nazwy plików wykonywalnych i katalogach roboczych, używanych przez proces wykonywania zadań.

  • Moduł wyliczający wstawienia foreach wyliczyć zestaw wyników wyrażenie XML Path Language (XPath).Na przykład wyrażenie to wylicza i pobiera listę wszystkich autorów w okresie klasycznego: /authors/author[@period='classical'].

  • Moduł wyliczający foreach SMO wyliczyć SQL Server obiektów zarządzania obiektami (SMO).Na przykład wyliczyć i wyświetlić listę widoków w SQL Server bazy danych.

Poniższy diagram przedstawia kontener Foreach pętli, który posiada zadań systemu plików.Pętla Foreach używa modułu wyliczającego pliku Foreach i zadań systemu plików jest skonfigurowany do kopiowania pliku.Jeśli folder, który określa moduł wyliczający zawiera cztery pliki, pętli powtarza się cztery razy i kopiuje czterech plików.

Kontener pętli Foreach wyliczający folder

Można użyć kombinacji zmiennych i właściwość wyrażeń zaktualizować właściwość obiektu pakiet z wartością Moduł wyliczający kolekcja.Najpierw mapować kolekcja wartość do zmiennej zdefiniowanej przez użytkownika, a następnie Implementuj wyrażenie właściwości na właściwość, która używa zmiennej.Na przykład wartość kolekcja modułu wyliczającego pliku Foreach jest mapowany do zmiennej o nazwie MyFile i zmienna jest następnie używana jest właściwość wyrażenie dla Subject Właściwości zadania Wyślij pocztę.Gdy uruchamia pakiet, Subject właściwość jest aktualizowana z nazwą pliku każdego czas , powtórzeń pętli.Aby uzyskać więcej informacji, zobacz Za pomocą właściwości wyrażenia w opakowaniach.

Zmienne, które są mapowane do wartości kolekcja modułu wyliczającego można również w wyrażeniach i skrypty.

Kontener Foreach pętla może zawierać wiele zadań i pojemniki, ale może używać tylko jednego typu moduł wyliczający.Jeśli kontener Foreach pętli zawiera wiele zadań, można mapować wartość kolekcja modułu wyliczającego do wielu właściwości każdego zadania.

zestaw atrybut transakcji kontener Foreach pętli do definiowania transakcji podzbiór przepływ sterowania pakiet.W ten sposób można zarządzać transakcji poziom pętli Foreach w poziomie pakiet.Na przykład kontener pętli Foreach powtarza przepływ sterowania, który aktualizuje wymiarów i tabel fakt w schemat gwiazdy, można skonfigurować transakcji w celu zapewnienia, że pomyślnie zaktualizowany wszystkie tabele fakt lub Brak aktualizacji.Aby uzyskać więcej informacji, zobacz Zapewnianie spójności danych przy użyciu transakcji.

Moduł wyliczający typów

Moduły wyliczające są konfigurowane i musi dostarczyć różnych informacji, w zależności od modułu wyliczającego.

Poniższa tabela zawiera podsumowanie informacji wymaga każdego typu moduł wyliczający.

Moduł wyliczający

Wymagania dotyczące konfiguracji

Foreach ADO

Określenie zmiennej źródło obiektu ADO i tryb moduł wyliczający.

Foreach ADO.NET schematu zestawu wierszy.

Określić połączenie do bazy danych i schemat wyliczyć.

Plik foreach

Określ folder i pliki wyliczyć format nazwy pliku pobranych plików i czy Przechodzenie do podfolderów.

Foreach ze zmiennej

Określ zmienna, która zawiera obiekty do wyliczenia.

Element Foreach

Definiowanie elementów kolekcja elementów Foreach łącznie z kolumnas i kolumna typów danych.

Wstawienia foreach

Określ źródło dokumentu XML i skonfiguruj operacji XPath.

Foreach SMO

Określić połączenie do bazy danych i obiektów SMO wyliczyć.

Przy użyciu wyrażeń właściwości w pojemnikach Foreach pętli

Pakiety można skonfigurować jednocześnie uruchomić wiele plików wykonywalnych.Tej konfiguracja należy używać ostrożnie, gdy pakiet zawiera kontener Foreach pętli, który implementuje właściwość wyrażenia.

Często jest to przydatne do zaimplementowania wyrażenie właściwość zestaw wartość ConnectionString Właściwość menedżerów połączenia, które Foreach pętli moduły wyliczające używany.Wyrażenie właściwość ConnectionString jest zestaw przez zmienną, która mapuje wartości kolekcja modułu wyliczającego i aktualizowane w każdej iteracji pętli.

Aby uniknąć negatywne konsekwencje nondeterminative czasu wykonywanie równoległe zadań w pętli, pakiet powinny być skonfigurowane do uruchamiania tylko jeden plik wykonywalny w czas.Na przykład, jeśli pakiet można uruchomić jednocześnie wiele zadań, kontener Foreach pętli, który wylicza pliki w folderze pobiera nazwy, a następnie zastosowań poniosą zadania wykonanie instrukcji SQL i wstawienie nazwy pliku do tabela wpisz konflikty podczas próby zapisu w tym samym dwóch wystąpień zadania wykonanie instrukcji SQL czas.Aby uzyskać więcej informacji, zobacz Za pomocą właściwości wyrażenia w opakowaniach.

Konfigurowanie kontenera Foreach pętli

zestaw właściwości poprzez SSIS Projektant lub programowo.

Aby uzyskać więcej informacji na temat właściwości, które zestaw w SSIS Projektant, kliknij jeden z następujących tematów:

Aby uzyskać więcej informacji dotyczących sposobu zestaw tych właściwości w SSIS Projektant, kliknij jeden z następujących tematów:

Konfigurowanie programowo kontenera Foreach pętli

Aby uzyskać więcej informacji na temat programowo ustawienie tych właściwości kliknij następujący temat:

  • [ T:Microsoft.SqlServer.Dts.Runtime.ForEachLoop ]
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.