Kontener pętli Foreach
Dotyczy:SQL Server SSIS Integration Runtime w usłudze Azure Data Factory
Kontener pętli Foreach definiuje powtarzający się przepływ sterowania w pakiecie. Implementacja pętli jest podobna do struktury pętli Foreach w językach programowania. W pakiecie pętla jest włączana przy użyciu enumeratora Foreach. Kontener Foreach Loop powtarza przepływ sterowania dla każdego elementu członkowskiego określonego modułu wyliczającego.
Usługi SQL Server Integration Services udostępniają następujące typy modułów wyliczania:
Enumerator Foreach ADO do wyliczania wierszy w tabelach. Można na przykład pobrać wiersze w zestawie rekordów ADO.
Miejsce docelowe zestawu rekordów zapisuje dane w pamięci w zestawie rekordów przechowywanym w zmiennej pakietu Object typu danych. Zazwyczaj używasz kontenera pętli Foreach z modułem wyliczania Foreach ADO, aby przetworzyć jeden wiersz zestawu rekordów naraz. Zmienna określona dla wylicznika Foreach ADO musi być typu danych Object. Aby uzyskać więcej informacji na temat miejsca docelowego zestawu rekordów, zobacz Use a Recordset Destination.
Moduł wyliczający foreach ADO.NET Schema Rowset w celu wyliczenia informacji o schemacie źródła danych. Można na przykład wyliczyć i uzyskać listę tabel w bazie danych programu SQL Server AdventureWorks2022.
Foreach File enumerator do enumeracji plików w folderze. Moduł wyliczający może przechodzić przez podfoldery. Na przykład można odczytać wszystkie pliki, które mają *.log rozszerzenie nazwy pliku w folderze systemu Windows i jego podfolderach. Należy pamiętać, że nie można określić kolejności pobierania plików.
Enumerator "Foreach From Variable" do wyliczania obiektu wyliczalnego, który zawiera określona zmienna. Obiekt wyliczalny może być tablicą, ADO.NET DataTable, modułem wyliczania usług Integration Services itd. Można na przykład wyliczyć wartości tablicy zawierającej nazwę serwerów.
Wyliczacz Foreach do wyliczania elementów, które są kolekcjami. Można na przykład wyliczyć nazwy plików wykonywalnych i katalogów roboczych używanych przez zadanie Wykonaj proces.
Wylicznik Foreach Nodelist do wyliczenia zestawu wynikowego wyrażenia w języku ścieżki XML (XPath). Na przykład to wyrażenie wylicza i pobiera listę wszystkich autorów w okresie klasycznym:
/authors/author[@period='classical']
.Moduł Enumerator SMO typu Foreach do wyliczania Obiektów Zarządzania SQL Server (SMO). Można na przykład wyliczyć i uzyskać listę widoków w bazie danych programu SQL Server.
Moduł wyliczający plików HDFS foreach w celu wyliczenia plików HDFS w określonej lokalizacji systemu plików HDFS.
Moduł wyliczający obiektów blob platformy Azure foreach do wyliczania obiektów blob w kontenerze obiektów blob w usłudze Azure Storage.
Moduł wyliczający foreach ADLS File do wyliczania plików w katalogu w usłudze Azure Data Lake Store.
Moduł Foreach Data Lake Storage Gen2 File Enumerator do wyliczania plików w katalogu w usłudze Azure Data Lake Storage Gen2.
Na poniższym diagramie przedstawiono kontener pętli Foreach, który ma zadanie systemu plików. Pętla Foreach używa enumeratora Foreach dla plików, a zadanie Systemu plików jest skonfigurowane do kopiowania pliku. Jeśli folder określony przez moduł wyliczający zawiera cztery pliki, pętla powtarza się cztery razy i kopiuje cztery pliki.
Możesz użyć kombinacji zmiennych i wyrażeń właściwości, aby zaktualizować właściwość obiektu pakietu przy użyciu wartości kolekcji modułu wyliczającego. Najpierw zamapujesz wartość kolekcji na zmienną zdefiniowaną przez użytkownika, a następnie zaimplementujesz wyrażenie właściwości we właściwości, która używa zmiennej. Na przykład wartość kolekcji enumeratora Foreach File jest mapowana na zmienną o nazwie MyFile, a zmienna jest następnie używana w wyrażeniu dla właściwości Subject w zadaniu Wyślij pocztę. Po uruchomieniu pakietu właściwość Subject jest aktualizowana przy użyciu nazwy pliku za każdym razem, gdy pętla będzie powtarzana. Aby uzyskać więcej informacji, zobacz Używaj Wyrażeń Właściwości w Pakietach.
Zmienne mapowane na wartość kolekcji wyliczeniowej mogą być również używane w wyrażeniach i skryptach.
Kontener Foreach Loop może zawierać wiele zadań i kontenerów, ale może używać tylko jednego typu modułu wyliczającego. Jeśli kontener Foreach Loop zawiera wiele zadań, możesz przypisać wartość kolekcji wylicznika do wielu właściwości każdego zadania.
Atrybut transakcji można ustawić w kontenerze pętli Foreach, aby zdefiniować transakcję dla podzbioru przepływu sterowania pakietem. W ten sposób można zarządzać transakcjami na poziomie pętli Foreach zamiast na poziomie pakietu. Na przykład, jeśli kontener Foreach Loop powtarza przepływ sterowania, który aktualizuje wymiary i tabele faktów w schemacie gwiazdy, można skonfigurować transakcję, aby upewnić się, że wszystkie tabele faktów zostały pomyślnie zaktualizowane, albo że żadna nie została zaktualizowana. Aby uzyskać więcej informacji, zobacz Integration Services Transactions.
Typy enumeratorów
Moduły wyliczania można konfigurować i należy podać różne informacje w zależności od modułu wyliczającego.
Poniższa tabela zawiera podsumowanie informacji, których wymaga każdy typ modułu wyliczającego.
Moduł wyliczający | Wymagania dotyczące konfiguracji |
---|---|
Foreach ADO | Określ zmienną źródłową obiektu ADO i tryb wyliczania. Zmienna musi mieć typ danych Object. |
Zestaw wierszy schematu ADO.NET foreach | Określ połączenie z bazą danych i schemat do wyliczenia. |
Plik Foreach | Określ folder i pliki do wyliczenia, format nazwy pliku pobranych plików oraz to, czy należy przejść przez podfoldery. |
Foreach ze zmiennej | Określ zmienną zawierającą obiekty do wyliczenia. |
Element foreach | Zdefiniuj elementy w kolekcji Elementów programu Foreach, w tym kolumny i typy danych kolumn. |
Lista węzłów foreach | Określ źródło dokumentu XML i skonfiguruj operację XPath. |
Foreach SMO | Określ połączenie z bazą danych i obiekty SMO do wyliczenia. |
Wyliczanie plików HDFS z użyciem foreach | Określ folder i pliki do wyliczenia, format nazwy pliku pobranych plików oraz to, czy należy przejść przez podfoldery. |
Foreach Azure Blob | Określ kontener usługi Azure Blob Storage, który zawiera obiekty blob do wyliczenia. |
Plik usługi ADLS foreach | Określ katalog usługi Azure Data Lake Store zawierający pliki do wyliczenia. |
Plik foreach Data Lake Storage Gen2 | Określ katalog usługi Azure Data Lake Storage Gen2 zawierający pliki do wyliczenia wraz z innymi opcjami. |
Dodawanie wyliczenia do przepływu sterowania za pomocą kontenera pętli Foreach
Usługi Integration Services obejmują kontener Foreach Loop, element przepływu kontroli, który ułatwia włączenie struktury pętli, która wylicza pliki i obiekty w przepływie kontroli pakietu. Aby uzyskać więcej informacji, zobacz Foreach Loop Container.
Kontener pętli Foreach nie oferuje funkcjonalności; zapewnia tylko strukturę, w której tworzysz powtarzalny przepływ sterujący, wskazujesz typ enumeratora i konfigurujesz enumeratora. Aby zapewnić funkcjonalność kontenera, należy uwzględnić co najmniej jedno zadanie w kontenerze pętli Foreach. Aby uzyskać więcej informacji, zobacz Integration Services Tasks.
Kontener pętli Foreach może zawierać przepływ sterowania z wieloma zadaniami i innymi kontenerami. Dodawanie zadań i kontenerów do kontenera Foreach Loop jest podobne do dodawania ich do pakietu, z wyjątkiem przeciągania zadań i kontenerów do kontenera Foreach Loop zamiast do pakietu. Jeśli kontener Foreach Loop zawiera więcej niż jedno zadanie lub kontener, możesz połączyć je przy użyciu ograniczeń pierwszeństwa, tak jak w pakiecie. Aby uzyskać więcej informacji, zobacz Ograniczenia Pierwszeństwa.
Dodaj i skonfiguruj kontener pętli Foreach
Dodaj kontener Foreach Loop do pakietu. Aby uzyskać więcej informacji, zobacz Dodawanie lub usuwanie zadania lub kontenera w przepływie sterowania.
Dodaj zadania i kontenery do kontenera typu Foreach Loop. Aby uzyskać więcej informacji, zobacz Dodawanie lub usuwanie zadania lub kontenera w przepływie sterowania.
Łączenie zadań i kontenerów w kontenerze pętli Foreach przy użyciu ograniczeń pierwszeństwa. Aby uzyskać więcej informacji, zobacz Łączenie zadań i kontenerów za pomocą domyślnego ograniczenia kolejności.
Skonfiguruj kontener Foreach Loop. Aby uzyskać więcej informacji, zobacz Configure a Foreach Loop Container.
Konfigurowanie kontenera pętli Foreach
W tej procedurze opisano sposób konfigurowania kontenera pętli Foreach, w tym wyrażeń właściwości na poziomach modułu wyliczającego i kontenera.
W narzędziu SQL Server Data Tools (SSDT) otwórz projekt Integration Services zawierający odpowiedni pakiet.
Kliknij kartę przepływu sterowania
i kliknij dwukrotnie pętlę Foreach. W oknie dialogowym edytora
foreach kliknij ogólne i opcjonalnie zmodyfikuj nazwę i opis pętli Foreach.Kliknij Collection i wybierz typ wyliczeniowy z listy Enumerator.
Określ moduł wyliczający i ustaw opcje modułu wyliczającego w następujący sposób:
Aby użyć modułu wyliczającego plik Foreach, podaj folder zawierający pliki do wyliczenia, określ filtr nazwy i typu pliku oraz określ, czy powinna zostać zwrócona w pełni kwalifikowana nazwa pliku. Ponadto należy wskazać, czy cyklicznie przechodzić przez podfoldery w celu uzyskania większej liczby plików.
Aby użyć modułu wyliczającego Foreach Item, kliknij pozycję Columns, a następnie w oknie dialogowym Kolumny Foreach Item kliknij przycisk Dodaj, aby dodać kolumny. Wybierz typ danych z listy typu danych
dla każdej kolumny, a następnie kliknij przycisk OK .Wpisz wartości w kolumnach lub wybierz wartości z list.
Notatka
Aby dodać nowy wiersz, kliknij w dowolnym miejscu poza komórką, w której wpisujesz.
Notatka
Jeśli wartość nie jest zgodna z typem danych kolumny, tekst zostanie wyróżniony.
Aby użyć modułu wyliczającego Foreach ADO, wybierz istniejącą zmienną lub kliknij
Nowa zmienna na liście zmiennej źródłowejADO, aby określić zmienną zawierającą nazwę obiektu ADO do wyliczenia, a następnie wybierz opcję trybu wyliczenia. W przypadku tworzenia nowej zmiennej ustaw właściwości zmiennej w oknie dialogowym Dodawanie zmiennej.
Aby użyć modułu wyliczającego zestaw wierszy schematu programu Foreach ADO.NET, wybierz istniejące połączenie ADO.NET lub kliknij pozycję
Nowe połączenie na liście połączenia, a następnie wybierz schemat. Opcjonalnie kliknij Ustaw ograniczenia i wybierz ograniczenia schematu, wybierz zmienną zawierającą wartość ograniczenia lub wpisz wartość ograniczenia, a następnie kliknij przycisk OK.
Aby użyć enumeratora Foreach From Variable, wybierz zmienną na liście Zmienna.
Aby użyć modułu wyliczającego Foreach NodeList, kliknij pozycję DocumentSourceType i wybierz typ źródła z listy, a następnie kliknij pozycję DocumentSource. W zależności od wartości wybranej dla parametru DocumentSourceType wybierz zmienną lub połączenie pliku z listy, utwórz nową zmienną lub połączenie pliku albo wpisz źródło XML w edytorze źródeł dokumentów .
Następnie kliknij pozycję EnumerationType i wybierz typ wyliczenia z listy. Jeśli parametr EnumerationType to Navigator, Node lub NodeText, kliknij OuterXPathStringSourceType, wybierz rodzaj źródła, a następnie kliknij OuterXPathString. W zależności od wartości ustawionej dla parametru OuterXPathStringSourceType wybierz zmienną lub połączenie pliku z listy, utwórz nową zmienną lub połączenie pliku albo wpisz parametry dla zewnętrznego wyrażenia języka ścieżki XML (XPath).
Jeśli parametr EnumerationType to ElementCollection, ustaw parametr OuterXPathStringSourceType i OuterXPathString zgodnie z powyższym opisem. Następnie kliknij pozycję InnerElementType i wybierz typ wyliczenia dla elementów wewnętrznych, a następnie kliknij pozycję InnerXPathStringSourceType. W zależności od wartości ustawionej dla parametru InnerXPathStringSourceType wybierz zmienną lub połączenie pliku, utwórz nową zmienną lub połączenie pliku albo wpisz parametry dla wewnętrznego wyrażenia XPath.
Aby użyć modułu wyliczającego Foreach SMO, wybierz istniejące połączenie ADO.NET lub kliknij pozycję
Nowe połączenie na liście połączenia, a następnie wpisz parametry do użycia lub kliknij przycisk Przeglądaj . Jeśli klikniesz przycisk Przeglądaj, w oknie dialogowym Wybierz wyliczenie SMO wybierz typ obiektu do wyliczenia i typ wyliczenia, a następnie kliknij przycisk OK.
Opcjonalnie kliknij przycisk przeglądania (...) w polu tekstowym Expressions na stronie Collection, aby utworzyć wyrażenia aktualizujące wartości właściwości. Aby uzyskać więcej informacji, zobacz Dodawanie lub zmienianie wyrażenia właściwości.
Notatka
Właściwości wymienione na liście właściwości różnią się w zależności od wyliczającego.
Opcjonalnie kliknij Mapowanie zmiennych, aby powiązać właściwości obiektu z wartością kolekcji, a następnie wykonaj następujące czynności:
Na liście zmiennych
wybierz zmienną lub kliknij , aby utworzyć nową zmienną.nowa zmienna Jeśli dodasz nową zmienną, ustaw właściwości zmiennej w oknie dialogowym Dodawanie zmiennej
, a następnie kliknij przycisk OK .Jeśli używasz enumeratora Dla każdego elementu, możesz zaktualizować wartość indeksu w liście Indeks.
Notatka
Wartość indeksu wskazuje, która kolumna w elemencie ma być mapowana na zmienną. Tylko moduł wyliczający Dla każdego elementu może używać wartości indeksu innego niż 0.
Opcjonalnie kliknij pozycję Wyrażenia, a na stronie Wyrażenia utwórz wyrażenia właściwości kontenera Foreach Loop. Aby uzyskać więcej informacji, zobacz Dodawanie lub zmienianie wyrażenia właściwości.
Kliknij przycisk OK.
Strona ogólna — Edytor pętli Foreach
Użyj strony Ogólne w oknie dialogowym edytora pętli Foreach, aby nazwać i opisać kontener Foreach Loop, który używa określonego wyliczacza do powtarzania przebiegu pracy dla każdego elementu w kolekcji.
Aby dowiedzieć się o kontenerze pętli Foreach i sposobie jej konfigurowania, zobacz Foreach Loop Container oraz Configure a Foreach Loop Container.
Opcje
nazwa
Podaj unikatową nazwę kontenera Foreach Loop. Ta nazwa jest używana jako etykieta w ikonie zadania i w dziennikach.
Notatka
Nazwy obiektów muszą być unikatowe w pakiecie.
opis
Wpisz opis kontenera pętli Foreach.
Strona kolekcji — Edytor pętli Foreach
Użyj strony Kolekcji
Aby dowiedzieć się więcej o kontenerze pętli Foreach i sposobie jej konfigurowania, zobacz Foreach Loop Container oraz Configure a Foreach Loop Container.
Opcje statyczne
Wyliczanie
Wybierz typ modułu wyliczającego z listy. Ta właściwość zawiera opcje wymienione w poniższej tabeli:
Wartość | Opis |
---|---|
wyliczacz plików Foreach | Wyliczanie plików. Wybranie tej wartości spowoduje wyświetlenie opcji dynamicznych w sekcji Moduł wyliczający plików foreach. |
moduł wyliczający elementów foreach |
Wyszczególnij wartości w elemencie. Wybranie tej wartości powoduje wyświetlenie opcji dynamicznych w sekcji Moduł wyliczający elementów foreach. |
Foreach ADO Enumerator | Wyliczanie tabel lub wierszy w tabelach. Wybranie tej wartości powoduje wyświetlenie opcji dynamicznych w sekcji Foreach ADO Enumerator. |
foreach ADO.NET moduł wyliczający zestawu wierszy schematu | Wylicz schemat. Wybranie tej wartości powoduje wyświetlenie opcji dynamicznych w sekcji Foreach ADO.NET Enumerator. |
Enumerator Foreach z Zmiennej | Wyliczanie wartości w zmiennej. Wybranie tej wartości powoduje wyświetlenie opcji dynamicznych w sekcji Foreach From Variable Enumerator. |
moduł wyliczający foreach Nodelist | Wyliczanie węzłów w dokumencie XML. Wybranie tej wartości spowoduje wyświetlenie opcji dynamicznych w sekcji Wyliczanie listy węzłów foreach. |
moduł wyliczający Foreach SMO | Wylicz obiekt SMO. Wybranie tej wartości powoduje wyświetlenie opcji dynamicznych w sekcji Moduł wyliczający SMO foreach. |
Enumerator plików HDFS Foreach | Wylicz pliki HDFS w określonej lokalizacji systemu plików HDFS. Wybranie tej wartości spowoduje wyświetlenie opcji dynamicznych w sekcji Enumerator plików HDFS Foreach. |
Wyliczanie Blobów Azure za pomocą Foreach | Wylicz pliki blob w określonej lokalizacji blob. Wybranie tej wartości spowoduje wyświetlenie opcji dynamicznych w sekcji Foreach Azure Blob Enumerator. |
moduł wyliczający plików usługi ADLS foreach | Wyliczanie plików w określonym katalogu usługi Data Lake Store. Wybranie tej wartości spowoduje wyświetlenie opcji dynamicznych w sekcji Foreach ADLS Enumerator plików. |
Foreach Data Lake Storage Gen2 File Enumerator - moduł wyliczający pliki w usłudze | Wyliczaj pliki w określonym katalogu usługi Data Lake Storage Gen2. Wybranie tej wartości spowoduje wyświetlenie opcji dynamicznych w sekcji Foreach Data Lake Storage Gen2 File Enumerator. |
wyrażeń
Kliknij lub rozwiń Wyrażenia właściwości, aby zobaczyć listę istniejących wyrażeń właściwości. Kliknij przycisk wielokropka (...), aby dodać wyrażenie właściwości dla właściwości modułu wyliczającego lub edytować i ocenić istniejące wyrażenie właściwości.
Tematy pokrewne:Integration Services (SSIS) Expressions, Property Expressions Editor, Expression Builder
Opcje dynamiczne modułu wyliczającego
Moduł wyliczający = Moduł wyliczający plików foreach
Moduł enumeratora Foreach File służy do wyliczania plików w folderze. Jeśli na przykład pętla Foreach zawiera zadanie Execute SQL, możesz użyć modułu wyliczającego Foreach File, aby wyliczyć pliki zawierające instrukcje SQL, które są uruchamiane przez zadanie Execute SQL. Moduł wyliczający można skonfigurować tak, aby zawierał podfoldery.
Zawartość folderów i podfolderów, które wylicza moduł wyliczający Foreach File, może ulec zmianie podczas wykonywania pętli, ponieważ procesy zewnętrzne lub zadania w pętli mogą dodawać, zmieniać nazwy lub usuwać pliki. Te zmiany mogą powodować szereg nieoczekiwanych sytuacji:
Jeśli pliki zostaną usunięte, akcje jednego zadania w pętli Foreach mogą mieć wpływ na inny zestaw plików niż pliki używane przez kolejne zadania.
Jeśli nazwy plików zostaną zmienione, a proces zewnętrzny automatycznie dodaje pliki w celu zastąpienia zmienionych plików, akcje zadań w pętli Foreach mogą mieć wpływ na te same pliki dwa razy.
Jeśli pliki są dodawane, może być trudno określić, na które pliki ma wpływ pętla Foreach.
folder
Podaj ścieżkę folderu głównego do wyliczenia.
Przeglądaj
Przeglądaj, aby zlokalizować folder główny.
Pliki
Określ pliki do wyszczególnienia.
Uwaga
Użyj symboli wieloznacznych (*), aby określić pliki do uwzględnienia w kolekcji. Aby na przykład dołączyć pliki z nazwami zawierającymi "abc", użyj następującego filtru: *abc*.
Po określeniu rozszerzenia nazwy pliku moduł wyliczający zwraca również pliki, które mają to samo rozszerzenie z dołączonymi dodatkowymi znakami. (Jest to takie samo zachowanie jak w przypadku polecenia dir w systemie operacyjnym, który porównuje również nazwy plików 8.3 pod kątem zgodności z poprzednimi wersjami). To zachowanie modułu wyliczającego może spowodować nieoczekiwane wyniki. Na przykład chcesz wyliczyć tylko pliki programu Excel 2003 i określić "*.xls". Jednak moduł wyliczający zwraca również pliki programu Excel 2007, ponieważ te pliki mają rozszerzenie ".xlsx".
Możesz użyć wyrażenia , aby określić pliki do uwzględnienia w kolekcji, rozwijając Expressions na stronie Collection, wybierając właściwość FileSpec, a następnie klikając przycisk wielokropka (...) w celu dodania wyrażenia właściwości.
w pełni kwalifikowana
Kliknij, aby pobrać pełną ścieżkę nazw plików. Jeśli znaki wieloznaczne są określone w opcji 'Pliki', zwracane są w pełni kwalifikowane ścieżki zgodne z filtrem.
nazwa tylko
Wybierz, aby pobrać tylko nazwy plików. Jeśli znaki wieloznaczne są określone w opcji Pliki, nazwy plików zwracane są zgodne z filtrem.
nazwa i rozszerzenie
Wybierz, aby pobrać nazwy plików i ich rozszerzenia nazw plików. Jeśli w opcji Pliki określono symbole wieloznaczne, nazwa i rozszerzenie zwracanych plików są zgodne z filtrem.
Przeglądaj podfoldery
Wybierz, aby uwzględnić podfoldery w enumeracji.
Moduł wyliczający = Moduł wyliczający elementów foreach
Moduł wyliczający elementu Foreach służy do wyliczania elementów w kolekcji. Elementy w kolekcji definiuje się, określając kolumny i wartości kolumn. Kolumny w wierszu definiują element. Na przykład element, który określa pliki wykonywalne uruchamiane przez zadanie Wykonaj proces i katalog roboczy, którego używa zadanie, ma dwie kolumny, jedną zawierającą nazwy plików wykonywalnych i jeden, który zawiera listę katalogu roboczego. Liczba wierszy określa liczbę powtórzeń pętli. Jeśli tabela zawiera 10 wierszy, pętla powtarza się 10 razy.
Aby zaktualizować właściwości zadania Wykonywanie procesu, należy odwzorować zmienne na kolumny elementów, wykorzystując indeks kolumny. Pierwsza kolumna zdefiniowana w elemencie modułu wyliczającego ma wartość indeksu 0, drugą kolumnę 1 itd. Wartości zmiennych są aktualizowane przy każdym powtórzeniu pętli. Właściwości Plik wykonywalny i Katalog roboczy zadania Wykonaj proces można następnie zaktualizować przy użyciu wyrażeń właściwości korzystających z podanych zmiennych.
zdefiniuj elementy w kolekcji Dla każdego elementu
Podaj wartość dla każdej kolumny w tabeli.
Notatka
Nowy wiersz jest automatycznie dodawany do tabeli po wprowadzeniu wartości w kolumnach wierszy.
Notatka
Jeśli podane wartości nie są zgodne z typem danych kolumny, tekst jest kolorowy na czerwono.
typ danych kolumny
Wyświetla typ danych aktywnej kolumny.
Usuń
Wybierz element, a następnie kliknij pozycję Usuń, aby usunąć go z listy.
kolumny
Kliknij, aby skonfigurować typ danych kolumn w elemencie.
Tematy pokrewne:Okno dialogowe Kolumny dla każdego elementu Dokumentacja interfejsu użytkownika
Moduł wyliczający = Moduł wyliczający Foreach ADO
Moduł wyliczający Foreach ADO służy do wyliczania wierszy lub tabel w obiekcie ADO lub ADO.NET przechowywanym w zmiennej. Na przykład, jeśli pętla Foreach zawiera zadanie skryptu, które zapisuje zestaw danych do zmiennej, można użyć enumeratora Foreach ADO, aby wyliczyć wiersze w zestawie danych. Jeśli zmienna zawiera zestaw danych ADO.NET, moduł wyliczający można skonfigurować tak, aby wyliczał wiersze w wielu tabelach lub wyliczał tabele.
źródłowa zmienna obiektu ADO
Wybierz zmienną zdefiniowaną przez użytkownika na liście lub kliknij <Nowa zmienna...>, aby utworzyć nową zmienną.
Notatka
Zmienna musi mieć typ danych Object. W przeciwnym razie wystąpi błąd.
Tematy powiązane:Integration Services (SSIS) zmienne, Dodaj zmienną
Wiersze w pierwszej tabeli
Wybierz, aby wyliczyć tylko wiersze w pierwszej tabeli.
Wiersze we wszystkich tabelach (tylko zestaw danych ADO.NET)
Wybierz, aby wyliczyć wiersze we wszystkich tabelach. Ta opcja jest dostępna tylko wtedy, gdy obiekty do wyliczenia są wszystkimi elementami członkowskimi tego samego zestawu danych ADO.NET.
wszystkie tabele (tylko zestaw danych ADO.NET)
Wybierz, aby wymieniać tylko tabele.
Moduł wyliczający = Foreach ADO.NET Schema Rowset Enumerator
Moduł wyliczający zestawu wierszy schematu foreach ADO.NET służy do wyliczania schematu dla określonego źródła danych. Na przykład, jeśli pętla Foreach zawiera zadanie Execute SQL, możesz użyć modułu enumeratora Foreach ADO.NET Schema Rowset, aby wyliczyć schematy, takie jak kolumny w bazie danych AdventureWorks, oraz wykorzystać zadanie Execute SQL do uzyskania uprawnień schematu.
połączenia
Wybierz menedżera połączeń ADO.NET na liście lub kliknij pozycję <Nowe połączenie...>, aby utworzyć nowego menedżera połączeń ADO.NET.
Ważny
Menedżer połączeń ADO.NET musi używać dostawcy platformy .NET dla OLE DB. W przypadku nawiązywania połączenia z programem SQL Server zalecanym dostawcą jest klient natywny programu SQL Server, wymieniony w sekcji dostawcy platformy .Net dla oledb w oknie dialogowym menedżer połączeń programu.
Tematy pokrewne: menedżer połączeń ADO, Konfigurowanie menedżera połączeń ADO.NET
schemat
Wybierz schemat do wyliczenia.
Ustawianie Ograniczeń
Ustaw ograniczenia, które mają być stosowane do określonego schematu.
Powiązane tematy:Ograniczenia schematu, okno dialogowe
Enumerator = Pętla For Each z Enumeratorem Zmiennych
Moduł wyliczający Foreach From Variable służy do wyliczania obiektów wyliczanych w określonej zmiennej. Jeśli na przykład pętla Foreach zawiera zadanie Execute SQL, które uruchamia zapytanie i przechowuje wynik w zmiennej, możesz użyć modułu wyliczającego Foreach From Variable, aby wyliczyć wyniki zapytania.
zmienna
Wybierz zmienną na liście lub kliknij <Nowa zmienna...>, aby utworzyć nową zmienną.
Tematy pokrewne:Integration Services (SSIS) zmienne, Dodawanie zmiennej
Moduł wyliczający = Moduł wyliczający Foreach NodeList
Moduł wyliczający Foreach Nodelist służy do wyliczania zestawu węzłów XML, który wynika z zastosowania wyrażenia XPath do pliku XML. Jeśli na przykład pętla Foreach zawiera zadanie Skrypt, możesz użyć modułu wyliczającego Foreach NodeList, aby przekazać wartość spełniającą kryteria wyrażenia XPath z pliku XML do zadania Skrypt.
Wyrażenie XPath, które ma zastosowanie do pliku XML, jest zewnętrzną operacją XPath przechowywaną we właściwości OuterXPathString. Jeśli typ wyliczenia XPath jest ustawiony na ElementCollection, moduł wyliczający Foreach NodeList może zastosować wewnętrzne wyrażenie XPath przechowywane we właściwości InnerXPathString do kolekcji elementu.
Aby dowiedzieć się więcej na temat pracy z dokumentami i danymi XML, zobacz "Zastosowanie kodu XML w programie .NET Framework" w bibliotece MSDN.
TypŹródłaDokumentu
Wybierz typ źródłowy dokumentu XML. Ta właściwość zawiera opcje wymienione w poniższej tabeli:
Wartość | Opis |
---|---|
bezpośrednich danych wejściowych | Ustaw źródło na dokument XML. |
połączenie pliku | Wybierz plik zawierający dokument XML. |
zmienna | Ustaw źródło na zmienną zawierającą dokument XML. |
DocumentSource
Jeśli DocumentSourceType jest ustawiony na Bezpośrednie dane wejściowe, podaj kod XML lub kliknij przycisk wielokropka (...), aby podać XML za pomocą okna dialogowego Edytora źródeł dokumentów.
Jeśli DocumentSourceType jest ustawiona na połączenia plików, wybierz menedżera połączeń plików lub kliknij przycisk <Nowe połączenie...>, aby utworzyć nowego menedżera połączeń.
Tematy pokrewne: menedżer połączeń plików, edytor menedżera połączeń plików
Jeśli DocumentSourceType jest ustawiony na Zmienna, wybierz istniejącą zmienną lub kliknij <Nowa zmienna...>, aby utworzyć nową zmienną.
Tematy pokrewne:Zmienne usług Integration Services (SSIS), Dodaj zmienną.
EnumerationType
Wybierz typ wyliczenia z listy. Ta właściwość zawiera opcje wymienione w poniższej tabeli:
Wartość | Opis |
---|---|
Nawigator | Wyliczanie przy użyciu XPathNavigator. |
Node | Wyliczanie węzłów zwróconych przez operację XPath. |
NodeText | Wyliczanie węzłów tekstowych zwracanych przez operację XPath. |
ElementCollection | Wylicza węzły elementów zwracane przez operację XPath. |
OuterXPathStringSourceType
Wybierz typ źródłowy ciągu XPath. Ta właściwość zawiera opcje wymienione w poniższej tabeli:
Wartość | Opis |
---|---|
Bezpośrednie dane wejściowe | Ustaw źródło na dokument XML. |
Połączenie pliku | Wybierz plik zawierający dokument XML. |
Zmienna | Ustaw źródło na zmienną zawierającą dokument XML. |
OuterXPathString
Jeśli OuterXPathStringSourceType jest ustawiona na direct input, podaj ciąg XPath.
Jeśli OuterXPathStringSourceType jest ustawiony na Połączenie z plikiem, wybierz menedżera połączenia z plikiem lub kliknij przycisk <Nowe połączenie...,> aby utworzyć nowego menedżera połączeń.
Tematy pokrewne: menedżer połączeń plików, edytor menedżera połączeń plików
Jeśli OuterXPathStringSourceType jest ustawiony na zmienną, wybierz istniejącą zmienną, lub kliknij <Nowa zmienna...,> aby utworzyć nową zmienną.
Tematy pokrewne: zmienne usługIntegration Services (SSIS), Dodaj zmienną.
TypElementuWewnętrznego
Jeśli EnumerationType został ustawiony na ElementCollection, wybierz typ elementu wewnętrznego z listy.
InnerXPathStringSourceType
Wybierz typ źródłowy wewnętrznego ciągu XPath. Ta właściwość zawiera opcje wymienione w poniższej tabeli:
Wartość | Opis |
---|---|
Bezpośrednie dane wejściowe | Ustaw źródło na dokument XML. |
Połączenie pliku | Wybierz plik zawierający dokument XML. |
zmienna | Ustaw źródło na zmienną zawierającą dokument XML. |
InnerXPathString
Jeśli InnerXPathStringSourceType jest ustawiona na direct input, podaj ciąg XPath.
Jeśli InnerXPathStringSourceType jest ustawiona na Połączenie pliku, wybierz menedżera połączeń plików lub kliknij przycisk <Nowe połączenie..., aby utworzyć nowego menedżera połączeń>.
Tematy pokrewne: menedżer połączeń plików, edytor menedżera połączeń plików
Jeśli InnerXPathStringSourceType jest ustawiony na Zmienną, wybierz istniejącą zmienną lub kliknij <Nowa zmienna...>, aby utworzyć nową zmienną.
Tematy pokrewne: zmienne usługIntegration Services (SSIS), Dodaj zmienną.
Moduł wyliczający = Moduł wyliczający Foreach SMO
Moduł wyliczający Foreach SMO służy do wyliczania obiektów zarządzania programu SQL Server (SMO). Jeśli na przykład pętla Foreach zawiera zadanie Execute SQL (Wykonywanie kodu SQL), możesz użyć modułu wyliczającego Foreach SMO, aby wyliczyć tabele w bazie danych AdventureWorks i uruchomić zapytania, które zliczają liczbę wierszy w każdej tabeli.
połączenie
Wybierz istniejącego menedżera połączeń ADO.NET lub kliknij przycisk <Nowe połączenie...>, aby utworzyć nowego menedżera połączeń.
Tematy pokrewne: Menedżer połączeń ADO.NET , Konfigurowanie menedżera połączeń ADO.NET
Wyliczanie
Określ obiekt SMO do wyliczenia.
Przeglądaj
Wybierz wyliczenie SMO.
Tematy pokrewne:Wybierz okno dialogowe Wyliczenie SMO,
Wyliczacz = Wyliczacz plików HDFS Foreach
Foreach HDFS File Enumerator umożliwia pakietowi SSIS wyliczanie plików HDFS w określonej lokalizacji systemu plików HDFS. Nazwa każdego pliku HDFS może być przechowywana w zmiennej i używana w zadaniach wewnątrz kontenera pętli Foreach.
Menedżer połączeń Hadoop
Określ istniejącego Menedżera połączeń usługi Hadoop lub utwórz nowy, który wskazuje miejsce, w którym są hostowane pliki HDFS. Aby uzyskać więcej informacji, zobacz Hadoop Connection Manager.
ścieżka katalogu
Określ nazwę katalogu HDFS, który zawiera pliki HDFS do wyliczenia.
filtr nazwy pliku
Określ filtr nazw, aby wybrać pliki z określonym wzorcem nazwy. Na przykład plik MySheet*.xls* zawiera pliki, takie jak MySheet001.xls i MySheetABC.xlsx.
Pobierz nazwę pliku
Określ typ nazwy pliku pobrany przez usługę SSIS.
w pełni kwalifikowana nazwa oznacza pełną nazwę, która zawiera ścieżkę katalogu i nazwę pliku.
Nazwa tylko oznacza, że nazwa pliku jest pobierana bez ścieżki.
Traverse podkatalogi
Określ, czy należy przechodzić przez podfoldery rekursywnie.
Na stronie Mapowania zmiennych edytora wybierz lub utwórz zmienną do przechowywania nazwy wyliczonego pliku HDFS.
Moduł wyliczający = Moduł wyliczający usługi Azure Blob Foreach
Moduł Azure Blob Enumerator umożliwia pakietowi SSIS wyliczanie plików blob w określonej lokalizacji. Nazwę wyliczonego pliku obiektu blob można przechowywać w zmiennej i używać jej w zadaniach wewnątrz kontenera pętli Foreach.
Komponent Azure Blob Enumerator jest częścią Pakietu Funkcji SSIS dla Azure dla SQL Server 2016 (13.x). Pobierz tutaj Pakiet funkcji .
Menedżer połączeń usługi Azure Storage
Wybierz istniejącego Menedżera połączeń usługi Azure Storage lub utwórz nowy, który odwołuje się do konta usługi Azure Storage.
Tematy pokrewne: Azure Storage Connection Manager.
nazwa kontenera obiektów blob
Określ nazwę kontenera obiektów blob, który zawiera pliki do wyliczenia.
katalog obiektów blob
Określ katalog obiektów blob zawierający pliki obiektów blob do wymienienia. Katalog obiektów blob jest wirtualną strukturą hierarchiczną.
wyszukiwanie rekursywne
Określ, czy wyszukiwać rekursywnie w podkatalogach.
filtr nazwy obiektu blob
Określ filtr nazw, aby wyliczyć pliki z określonym wzorcem nazwy. Na przykład MySheet*.xls\*
zawiera pliki, takie jak MySheet001.xls i MySheetABC.xlsx.
Zakres czasu blob od/do dla filtru
Określ filtr zakresu czasu. Pliki zmodyfikowane po TimeRangeFrom i przed TimeRangeTo są wyliczane.
Moduł wyliczający = Moduł wyliczający plików usługi ADLS foreach
Enumerator plików dla Azure Data Lake Store umożliwia pakietowi SSIS wyliczanie plików w usłudze Azure Data Lake Store. Pełną ścieżkę wyliczonego pliku (poprzedzonego ukośnikiem — /
) można przechowywać w zmiennej i używać ścieżki pliku w zadaniach wewnątrz kontenera pętli Foreach.
AzureDataLakeConnection
Określa menedżera połączeń usługi Azure Data Lake lub tworzy nowy, który odwołuje się do konta usługi ADLS.
AzureDataLakeDirectory
Określa katalog usługi ADLS, który zawiera pliki do wyliczenia.
Określa filtr nazwy pliku. Wyliczane są tylko pliki, których nazwy pasują do określonego wzorca. Obsługiwane są symbole wieloznaczne *
i ?
.
SearchRecursively
Określa, czy wyszukiwać rekursywnie w określonym katalogu.
Moduł wyliczający = Moduł wyliczający plików foreach Data Lake Storage Gen2
Moduł wyliczający pliki Foreach Data Lake Storage Gen2 umożliwia pakietowi SSIS wyliczanie plików w usłudze Azure Data Lake Storage Gen2.
AzureStorageConnection
Określa istniejącego Menedżera połączeń usługi Azure Storage lub tworzy nowy, który odwołuje się do usługi Data Lake Storage Gen2.
FolderPath
Określa ścieżkę folderu do wyliczania plików.
SearchRecursively
Określa, czy wyszukiwać rekursywnie w określonym folderze.
uwagi dotyczące konfiguracji uprawnień podmiotu usługi
Uprawnienie usługi Data Lake Storage Gen2 jest określane zarówno przez kontroli dostępu opartej na rolach, jak i list ACL.
Zwróć uwagę, że listy kontroli dostępu (ACL) są konfigurowane przy użyciu identyfikatora obiektu (OID) głównego podmiotu usługi dla rejestracji aplikacji, jak szczegółowo opisano tutaj
Strona mapowań zmiennych — Edytor pętli foreach
Użyj strony Mapowania Zmiennych w oknie dialogowym Edytor Pętli Foreach, aby przypisać zmienne do wartości kolekcji. Wartość zmiennej jest aktualizowana przy użyciu wartości kolekcji w każdej iteracji pętli.
Aby dowiedzieć się, jak używać kontenera pętli Foreach w pakiecie usług Integration Services, zobacz Foreach Loop Container. Aby dowiedzieć się więcej o sposobie jej konfigurowania, zobacz Configure a Foreach Loop Container (Konfigurowanie kontenera pętli foreach).
Samouczek dotyczący usług Microsoft SQL Server Integration Services, tworzenie prostego pakietu ETL, zawiera lekcję, która uczy dodawania i konfigurowania pętli Foreach.
Opcje
zmienna
Wybierz istniejącą zmienną lub kliknij Nowa zmienna..., aby utworzyć nową zmienną.
Uwaga
Po zamapowania zmiennej nowy wiersz zostanie automatycznie dodany do listy zmiennej.
tematy pokrewne: zmienne usług Integration Services (SSIS), dodawanie zmiennych
indeks
Jeśli używasz modułu Enumerator Foreach, określ indeks kolumny w wartości kolekcji do mapowania zmiennej. W przypadku innych typów wyliczających indeks jest tylko do odczytu.
Notatka
Indeks jest oparty na 0.
Usuń
Wybierz zmienną, a następnie kliknij pozycję Usuń.
Okno dialogowe Ograniczenia schematu (ADO.NET)
Użyj okna dialogowego Ograniczenia schematu, aby ustawić ograniczenia schematu, które mają być stosowane do enumeratora Foreach ADO.NET Schema Rowset.
Opcje
ograniczenia
Wybierz ograniczenia, które mają być stosowane do schematu.
zmiennej
Użyj zmiennej do zdefiniowania ograniczeń. Wybierz zmienną na liście lub kliknij Nowa zmienna..., aby utworzyć nową zmienną.
Powiązane tematy :Zmienne Integration Services (SSIS), Dodaj zmienną
Text
Podaj tekst, aby zdefiniować ograniczenia.
Okno dialogowe Dla każdej kolumny elementów
Użyj okna dialogowego Dla każdej kolumny elementów, aby zdefiniować kolumny w elementach wyliczanych przez moduł wyliczający Foreach Item.
Opcje
kolumna
Wyświetla listę kolumn.
typ danych
Wybierz typ danych.
Dodaj
Dodaj nową kolumnę.
Usuń
Wybierz kolumnę, a następnie kliknij pozycję Usuń.
Okno dialogowe Wybór wyliczenia SMO
Użyj okna dialogowego Wybierz wyliczenie SMO, aby określić obiekt obiektów zarządzania programu SQL Server (SMO) w określonym wystąpieniu programu SQL Server do wyliczenia i wybrać typ wyliczenia.
Opcje
Wyliczanie
Rozwiń serwer i wybierz obiekt SMO.
Obiekty
Użyj typu wyliczenia Objects.
Wypełnij wstępnie
Użyj opcji Wstępne wypełnianie z typem wyliczeniowym Objects.
Nazwy
Użyj typu wyliczeniowego "Names".
URN-y
Użyj typu wyliczenia adresów URL.
Lokalizacje
Użyj typu wyliczenia Locations. Ta opcja jest dostępna tylko dla plików.
Używanie wyrażeń właściwości z kontenerami pętli Foreach
Pakiety można skonfigurować do współbieżnego uruchamiania wielu plików wykonywalnych. Ta konfiguracja powinna być używana ostrożnie, gdy pakiet zawiera kontener pętli Foreach, który implementuje wyrażenia właściwości.
Często przydatne jest implementowanie wyrażenia właściwości, aby ustawić wartość ConnectionString w menedżerach połączeń używanych przez enumeratory pętli Foreach. Wyrażenie właściwości ConnectionString jest ustalane przez zmienną, która odwzorowuje wartość kolekcji wyliczacza i jest aktualizowana przy każdej iteracji pętli.
Aby uniknąć negatywnych konsekwencji nieokreślonego czasu równoległego wykonywania zadań w pętli, pakiet powinien być skonfigurowany do uruchamiania tylko jednego pliku wykonywalnego naraz. Jeśli na przykład pakiet może uruchamiać wiele zadań jednocześnie, kontener Foreach Loop, który wylicza pliki w folderze, pobiera nazwy plików, a następnie używa zadania Execute SQL do wstawiania nazw plików do tabeli może powodować konflikty zapisu, gdy dwa wystąpienia zadania Execute SQL spróbuje zapisać w tym samym czasie. Aby uzyskać więcej informacji, zobacz Używanie wyrażeń właściwości w pakietach.