Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
SSIS Integration Runtime ve službě Azure Data Factory
Kontejner smyčky Foreach definuje opakující se tok řízení v balíčku. Implementace smyčky je podobná struktuře smyčky Foreach v programovacích jazycích. V balíčku je iterace povolena pomocí cyklu Foreach. Kontejner smyčky Foreach opakuje tok řízení pro každého člena zadaného enumerátoru.
Sql Server Integration Services poskytuje následující typy enumerátoru:
Foreach enumerátor ADO pro iteraci řádků v tabulkách. Můžete například získat řádky v sadě záznamů ADO.
Cíl sady záznamů ukládá data do paměti v sadě záznamů, která je uložena v proměnné balíčku datového typu Objekt . Kontejner Foreach Loop s enumerátorem Foreach ADO obvykle používáte ke zpracování jednoho řádku sady záznamů najednou. Proměnná zadaná pro enumerátor Foreach ADO musí být datového typu Object. Další informace o cíli sady záznamů naleznete v tématu Použití cíle sady záznamů.
Foreach enumerátor sady řádků schématu ADO.NET pro výčet informací o schématu zdroje dat. Můžete například vytvořit výčet a získat seznam tabulek v databázi AdventureWorks2025 SQL Serveru.
Enumerator Foreach File pro výčet souborů ve složce. Enumerátor může procházet podsložky. Můžete si například přečíst všechny soubory, které mají příponu *.log názvu souboru ve složce Windows a jejích podsložkách. Všimněte si, že pořadí, ve kterém jsou soubory načteny, nelze zadat.
Enumerator Foreach From Variable pro výčet objektu, který obsahuje zadaná proměnná. Výčtový objekt může být pole, ADO.NET DataTable, enumerátor integračních služeb atd. Můžete například vytvořit výčet hodnot pole, které obsahuje název serverů.
Foreach Item enumerátor k výčtu položek, které představují kolekce. Můžete například vytvořit výčet názvů spustitelných souborů a pracovních adresářů, které používá úloha Spustit proces.
Enumerátor foreach Nodelist k vytvoření výčtu sady výsledků výrazu XPath (XML Path Language). Například tento výraz vytvoří výčet a získá seznam všech autorů v klasickém období:
/authors/author[@period='classical'].Enumerátor Foreach SMO k vytvoření výčtu objektů SMO (SQL Server Management Objects). Můžete například vytvořit výčet a získat seznam zobrazení v databázi SQL Serveru.
Foreach HDFS File Enumerator pro výčet souborů HDFS v zadaném umístění HDFS.
Výčet objektů blob v kontejneru blob pomocí enumerátoru foreach v úložišti Azure.
Enumerátor souborů ADLS pro přehledávání souborů v adresáři v uložišti Azure Data Lake.
Enumerator souborů Foreach Data Lake Storage Gen2 pro procházení souborů v adresáři v Azure Data Lake Storage Gen2.
Následující diagram znázorňuje kontejner smyčky Foreach, který má úlohu systému souborů. Smyčka Foreach používá enumerátor Foreach File a úloha systému souborů je nakonfigurována ke zkopírování souboru. Pokud složka, kterou enumerátor určuje, obsahuje čtyři soubory, smyčka se opakuje čtyřikrát a zkopíruje čtyři soubory.
Pomocí kombinace proměnných a výrazů vlastností můžete aktualizovat vlastnost objektu balíčku hodnotou kolekce enumerátoru. Nejprve namapujete hodnotu kolekce na uživatelem definovanou proměnnou a pak implementujete výraz vlastnosti na vlastnost, která tuto proměnnou používá. Například hodnota kolekce enumerátoru Foreach File je namapována na proměnnou s názvem MyFile a proměnná se pak použije ve výrazu vlastnosti Předmět úlohy Send Mail. Při spuštění balíčku se vlastnost Subject aktualizuje pokaždé, když se smyčka opakuje, s názvem souboru. Další informace naleznete v tématu Použití výrazů vlastností v balíčcích.
Proměnné mapované na hodnotu kolekce enumerátoru lze použít také ve výrazech a skriptech.
Kontejner smyčky Foreach může obsahovat více úloh a kontejnerů, ale může používat pouze jeden typ enumerátoru. Pokud kontejner Foreach Loop obsahuje více úloh, můžete hodnotu kolekce enumerátoru namapovat na více vlastností jednotlivých úloh.
Můžete nastavit atribut transakce v kontejneru Foreach Loop definovat transakci pro podmnožinu toku řízení balíčku. Tímto způsobem můžete spravovat transakce na úrovni smyčky Foreach namísto úrovně balíčku. Pokud například kontejner smyčky Foreach opakuje tok řízení, který aktualizuje dimenze a tabulky faktů ve hvězdicovém schématu, můžete nakonfigurovat transakci, aby se zajistilo, že se všechny tabulky faktů úspěšně aktualizují nebo se neaktualizují. Další informace naleznete v tématu Transakce Integrační služby.
Typy enumerátoru
Enumerátory jsou konfigurovatelné a v závislosti na výčtu musíte zadat různé informace.
Následující tabulka shrnuje informace, které každý typ enumerátoru vyžaduje.
| Výčtář | Požadavky na konfiguraci |
|---|---|
| Foreach ADO | Zadejte zdrojovou proměnnou objektu ADO a režim enumerátoru. Proměnná musí být datového typu Objekt. |
| Sada řádků schématu foreach ADO.NET | Zadejte připojení k databázi a schéma, které chcete vyčíslit. |
| Foreach soubor | Zadejte složku a soubory, které se mají zobrazit jako výčet, formát názvu souboru načtených souborů a zda se mají procházet podsložky. |
| Foreach z proměnné | Zadejte proměnnou, která obsahuje objekty k vytvoření výčtu. |
| Položka foreach | Definujte položky v kolekci Foreach Item, včetně sloupců a datových typů sloupců. |
| Seznam uzlů foreach | Zadejte zdroj dokumentu XML a nakonfigurujte operaci XPath. |
| Foreach SMO | Zadejte připojení k databázi a objekty SMO k vytvoření výčtu. |
| Výčet souborů Foreach HDFS | Zadejte složku a soubory, které se mají zobrazit jako výčet, formát názvu souboru načtených souborů a zda se mají procházet podsložky. |
| Foreach Azure Blob | Zadejte kontejner služby Azure Blob Storage, který obsahuje objekty blob, které se mají vyčíslit. |
| Foreach soubor ADLS | Zadejte adresář Azure Data Lake Store, který obsahuje soubory, které mají být uvedeny. |
| Soubor Foreach Data Lake Storage Gen2 | Zadejte adresář Azure Data Lake Storage Gen2, který obsahuje soubory, které mají být uvedeny, spolu s dalšími možnostmi. |
Přidání výčtu do toku řízení pomocí kontejneru smyčky Foreach
Integrační služby zahrnují kontejner Foreach Loop, element toku řízení, který usnadňuje zahrnutí konstruktingu smyčky, který vytváří výčet souborů a objektů v toku řízení balíčku. Pro více informací si přečtěte Foreach Loop Container.
Kontejner smyčky Foreach neposkytuje žádné funkce; poskytuje pouze strukturu, ve které vytváříte opakovatelný tok řízení, zadat typ enumerátoru a nakonfigurovat enumerátor. Pokud chcete poskytovat funkce kontejneru, musíte do kontejneru smyčky Foreach zahrnout alespoň jednu úlohu. Další informace naleznete v tématu Úlohy integračních služeb.
Kontejner smyčky Foreach může zahrnovat kontrolní tok s více úlohami a dalšími kontejnery. Přidání úkolů a kontejnerů do kontejneru smyčky Foreach se podobá jejich přidání do balíčku, kromě toho, že úkoly a kontejnery přetáhnete do kontejneru smyčky Foreach místo do balíčku. Pokud kontejner smyčky Foreach obsahuje více než jeden úkol nebo kontejner, můžete je připojit pomocí omezení priority stejně jako v balíčku. Další informace naleznete v tématu Omezení priority.
Přidejte a nakonfigurujte kontejner smyčky Foreach
Přidejte do balíčku kontejner smyčky Foreach. Další informace najdete v tématu Přidání nebo odstranění úlohy nebo kontejneru v toku řízení.
Přidejte úkoly a kontejnery do kontejneru Foreach Loop. Další informace najdete v tématu Přidání nebo odstranění úlohy nebo kontejneru v toku řízení.
Připojte úlohy a kontejnery v kontejneru smyčky Foreach pomocí omezení priority. Další informace najdete v tématu Připojení úkolů a kontejnerů pomocí výchozího omezení priority.
Nakonfigurujte kontejner cyklu Foreach.
Konfigurujte kontejner smyčky Foreach
Tento postup popisuje, jak nakonfigurovat kontejner smyčky Foreach, včetně výrazů vlastností na úrovni enumerátoru a kontejneru.
V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje požadovaný balíček.
Klikněte na kartu Tok řízení a dvojklikem otevřete smyčku Foreach.
V dialogovém okně Editor smyčky Foreach klepněte na tlačítko Obecné a volitelně upravte název a popis smyčky Foreach.
Klikněte na Kolekce a vyberte typ enumerátoru ze seznamu Enumerator .
Zadejte enumerátor a nastavte možnosti enumerátoru následujícím způsobem:
Chcete-li použít enumerátor Foreach File enumerator, zadejte složku obsahující soubory k výčtu, zadejte filtr pro název a typ souboru a určete, zda má být vrácen plně kvalifikovaný název souboru. Také určete, jestli se má provést rekurse prostřednictvím podsložek pro další soubory.
Chcete-li použít enumerátor Foreach Item enumerator, klepněte na položku Sloupce a v dialogovém okně Pro každý sloupec položky klepněte na tlačítko Přidat pro přidání sloupců. Vyberte datový typ v seznamu Datový typ pro každý sloupec a klikněte na TLAČÍTKO OK.
Zadejte hodnoty do sloupců nebo vyberte hodnoty ze seznamů.
Poznámka:
Pokud chcete přidat nový řádek, klikněte kamkoli mimo buňku, do které jste zadali.
Poznámka:
Pokud hodnota není kompatibilní s datovým typem sloupce, text se zvýrazní.
Chcete-li použít enumerátor Foreach ADO, vyberte existující proměnnou nebo klepněte na tlačítko Nová proměnná v seznamu zdrojových proměnných objektu ADO určete proměnnou, která obsahuje název objektu ADO k výčtu, a vyberte možnost režimu výčtu.
Pokud vytváříte novou proměnnou, nastavte vlastnosti proměnné v dialogovém okně Přidat proměnnou .
Chcete-li použít enumerátor Foreach ADO.NET Sada řádků schématu, vyberte existující ADO.NET připojení nebo klepněte v seznamu Připojení na tlačítko Nové připojení a pak vyberte schéma.
Volitelně můžete kliknout na Nastavit omezení a vybrat omezení schématu, vybrat proměnnou obsahující hodnotu omezení nebo zadat hodnotu omezení a klepněte na tlačítko OK.
Pokud chcete použít enumerátor Foreach From Variable, vyberte proměnnou v seznamu Proměnný .
Chcete-li použít enumerátor Foreach NodeList, klepněte na DocumentSourceType a vyberte typ zdroje ze seznamu a klepněte na tlačítko DocumentSource. V závislosti na hodnotě vybrané pro DocumentSourceType vyberte proměnnou nebo připojení k souboru ze seznamu, vytvořte novou proměnnou nebo připojení k souboru nebo zadejte zdroj XML v Editoru zdrojů dokumentů.
Dále klikněte na EnumerationType a ze seznamu vyberte typ výčtu. Pokud je EnumerationType Navigátor, Node nebo NodeText, klepněte na OuterXPathStringSourceType a vyberte typ zdroje a klepněte na tlačítko OuterXPathString. V závislosti na hodnotě nastavené pro OuterXPathStringSourceType vyberte proměnnou nebo připojení k souboru ze seznamu, vytvořte novou proměnnou nebo připojení k souboru nebo zadejte řetězec pro vnější výraz XML Path Language (XPath).
Pokud enumerationType je ElementCollection, nastavte OuterXPathStringSourceType a OuterXPathString, jak je popsáno výše. Potom klepněte na InnerElementType a vyberte typ výčtu pro vnitřní elementy a klepněte na tlačítko InnerXPathStringSourceType. V závislosti na hodnotě nastavené pro InnerXPathStringSourceType vyberte proměnnou nebo připojení k souboru, vytvořte novou proměnnou nebo připojení k souboru nebo zadejte řetězec pro vnitřní výraz XPath.
Chcete-li použít enumerátor Foreach SMO, vyberte existující ADO.NET připojení nebo klepněte na tlačítko Nové připojení v seznamu Připojení a zadejte řetězec, který chcete použít, nebo klepněte na tlačítko Procházet. Pokud kliknete na Procházet, v dialogovém okně Vybrat výčet SMO vyberte typ objektu pro výčet a typ výčtu a klepněte na tlačítko OK.
Volitelně můžete kliknout na tlačítko procházet (...) v textovém poli Výrazy na stránce Kolekce a vytvořit výrazy, které aktualizují hodnoty vlastností. Další informace naleznete v tématu Přidání nebo změna výrazu vlastnosti.
Poznámka:
Vlastnosti uvedené v seznamu vlastností se liší podle enumerátoru.
Volitelně můžete kliknout na Mapování proměnných a mapovat vlastnosti objektu na hodnotu kolekce a pak provést následující akce:
V seznamu Proměnné vyberte proměnnou nebo kliknutím na <tlačítko Nová proměnná> vytvořte novou proměnnou.
Pokud přidáte novou proměnnou, nastavte vlastnosti proměnné v dialogovém okně Přidat proměnnou a klepněte na tlačítko OK.
Pokud používáte enumerátor Pro každou položku, můžete aktualizovat hodnotu indexu v seznamu Index .
Poznámka:
Hodnota indexu určuje, který sloupec položky se má namapovat na proměnnou. Pouze enumerátor Pro každou položku může použít jinou hodnotu indexu než 0.
Volitelně můžete kliknout na Výrazy a na stránce Expressions vytvořit výrazy vlastností pro vlastnosti kontejneru Foreach Loop. Další informace naleznete v tématu Přidání nebo změna výrazu vlastnosti.
Klikněte na OK.
Obecná stránka – Editor smyčky Foreach
Pomocí stránky Obecné dialogového okna Editor smyčky Foreach pojmenujte a popište kontejner smyčky Foreach, který používá zadaný enumerátor k opakování pracovního postupu pro každého člena v kolekci.
Možnosti
název
Zadejte jedinečný název kontejneru smyčky Foreach. Tento název se používá jako popisek v ikoně úkolu a v protokolech.
Poznámka:
Názvy objektů musí být v rámci balíčku jedinečné.
Popis
Zadejte popis kontejneru Foreach Loop.
Editor smyčky Foreach na stránce kolekce
Na stránce Kolekce dialogového okna Editor smyčky Foreach zadejte typ enumerátoru a nakonfigurujte enumerátor.
Informace o kontejneru smyčky Foreach a o tom, jak ho nakonfigurovat, najdete v tématu Kontejner smyčky Foreach a konfigurace kontejneru smyčky Foreach.
Statické možnosti
Enumerátor
Ze seznamu vyberte typ enumerátoru. Tato vlastnost obsahuje možnosti uvedené v následující tabulce:
| Hodnota | Popis |
|---|---|
| Enumerátor souboru Foreach | Vytvoření výčtu souborů Výběrem této hodnoty se zobrazí dynamické možnosti v oddílu Foreach File Enumerator. |
| Foreach Item Enumerator | Zobrazení výčtu hodnot v položce Výběrem této hodnoty se zobrazí dynamické možnosti v oddílu Foreach Item Enumerator. |
| Foreach ADO enumerátor | Vytvoření výčtu tabulek nebo řádků v tabulkách Výběrem této hodnoty se zobrazí dynamické možnosti v části Foreach ADO Enumerator. |
| Foreach ADO.NET Enumerátor schématové sady řádků | Vyjmenujte schéma. Výběrem této hodnoty se zobrazí dynamické možnosti v části Foreach ADO.NET Enumerator. |
| Foreach z proměnného enumerátoru | Vytvořte výčet hodnoty v proměnné. Výběrem této hodnoty zobrazíte dynamické možnosti v části Foreach From Variable Enumerator. |
| Enumerátor seznamu uzlů foreach | Zobrazení výčtu uzlů v dokumentu XML Výběrem této hodnoty se zobrazí dynamické možnosti v oddílu Foreach Nodelist Enumerator. |
| Enumerátor Foreach SMO | Vytvořte výčet objektu SMO. Výběrem této hodnoty se zobrazí dynamické možnosti v oddílu Foreach SMO Enumerator. |
| Výčet souborů Foreach HDFS | Vypište soubory HDFS v zadaném umístění HDFS. Výběrem této hodnoty se zobrazí dynamické možnosti v oddílu Foreach HDFS File Enumerator. |
| Foreach Azure Blob Enumerator | Vytvoří výčet souborů objektů blob v zadaném umístění objektu blob. Výběrem této hodnoty se zobrazí dynamické možnosti v části Foreach Azure Blob Enumerator. |
| Enumerátor souborů Foreach ADLS | Zobrazení výčtu souborů v zadaném adresáři Data Lake Store Výběrem této hodnoty se zobrazí dynamické možnosti v oddílu Foreach ADLS File Enumerator. |
| Výčet souborů Foreach Data Lake Storage Gen2 | Zobrazení výčtu souborů v zadaném adresáři Data Lake Storage Gen2 Výběrem této hodnoty se v části Foreach Data Lake Storage Gen2 File Enumerator zobrazí dynamické možnosti. |
Výrazy
Kliknutím nebo rozbalením výrazů zobrazíte seznam existujících výrazů vlastností. Kliknutím na tlačítko se třemi tečkou (...) přidáte výraz vlastnosti pro vlastnost enumerátoru nebo upravíte a vyhodnotíte existující výraz vlastnosti.
Související témata:Výrazy integračních služeb (SSIS),Editor výrazů vlastností, Tvůrce výrazů
Dynamické možnosti enumerátoru
Enumerator = Procházení Souborů Enumerator
Enumerátor Foreach File slouží k vytvoření výčtu souborů ve složce. Pokud například smyčka Foreach obsahuje úlohu Execute SQL, můžete pomocí enumerátoru Foreach File enumerátor vytvořit výčet souborů obsahujících příkazy SQL, které spouští úloha Execute SQL. Enumerátor lze nakonfigurovat tak, aby zahrnoval podsložky.
Obsah složek a podsložek, které enumerátor Foreach File enumeruje, se může při provádění smyčky změnit, protože externí procesy nebo úlohy ve smyčce při provádění smyčky přidávají, přejmenovává nebo odstraňují soubory. Tyto změny můžou způsobit řadu neočekávaných situací:
Pokud jsou soubory odstraněny, akce jednoho úkolu ve smyčce Foreach mohou ovlivnit jinou sadu souborů než soubory používané následujícími úkoly.
Pokud se soubory přejmenují a externí proces automaticky přidá soubory, které nahradí přejmenované soubory, můžou akce úloh ve smyčce Foreach ovlivnit stejné soubory dvakrát.
Pokud jsou přidány soubory, může být obtížné určit, které soubory ovlivnila smyčka Foreach.
Složka
Zadejte cestu kořenové složky pro výčet.
Procházet
Vyhledejte kořenovou složku.
Soubory
Zadejte soubory, které chcete vypsat.
Poznámka:
Pomocí zástupných znaků (*) určete soubory, které se mají zahrnout do kolekce. Pokud například chcete zahrnout soubory s názvy, které obsahují "abc", použijte následující filtr: *abc*.
Když zadáte příponu názvu souboru, enumerátor také vrátí soubory, které mají stejnou příponu s připojenými dalšími znaky. (Jedná se o stejné chování jako u příkazu dir v operačním systému, který také porovnává názvy souborů 8.3 pro zpětnou kompatibilitu.) Toto chování enumerátoru může způsobit neočekávané výsledky. Například chcete vytvořit výčet pouze souborů Aplikace Excel 2003 a zadáte "*.xls". Enumerátor ale vrátí také soubory Aplikace Excel 2007, protože tyto soubory mají příponu ".xlsx".
Pomocí výrazu můžete určit soubory, které se mají zahrnout do kolekce, rozbalením výrazů na stránce Kolekce , výběrem vlastnosti FileSpec a následným kliknutím na tlačítko se třemi tečkami (...) přidat výraz vlastnosti.
Plně kvalifikovaný
Vyberte, pokud chcete načíst plně kvalifikovanou cestu k názvům souborů. Pokud jsou v možnosti Soubory zadány zástupné znaky, pak plně kvalifikované cesty, které se vrátí, odpovídají filtru.
Pouze název
Vyberte, pokud chcete načíst pouze názvy souborů. Pokud jsou v možnosti Soubory zadány zástupné znaky, názvy vrácených souborů odpovídají filtru.
Název a přípona
Vyberte, pokud chcete načíst názvy souborů a jejich přípony názvů souborů. Pokud jsou v možnosti Soubory zadány zástupné znaky, pak název a přípona souborů vrácených se shoduje s filtrem.
Procházení podsložek
Vyberte možnost zahrnout podsložky do výčtu.
Enumerator = Enumerator položek Foreach
Enumerátor Foreach Item slouží k vytvoření výčtu položek v kolekci. Položky v kolekci definujete zadáním sloupců a hodnot sloupců. Sloupce v řádku definují položku. Například položka, která určuje spustitelné soubory, které spouští úloha Spustit proces, a pracovní adresář, který úloha používá, má dva sloupce, jeden, který obsahuje názvy spustitelných souborů a jeden, který obsahuje seznam pracovních adresářů. Počet řádků určuje, kolikrát se smyčka opakuje. Pokud tabulka obsahuje 10 řádků, smyčka se opakuje 10krát.
Chcete-li aktualizovat vlastnosti úlohy Execute Process, mapujete proměnné na sloupce položek pomocí indexu sloupce. První sloupec definovaný v položce enumerátoru má hodnotu indexu 0, druhý sloupec 1 atd. Hodnoty proměnných se aktualizují jednotlivými opakováními smyčky. Vlastnosti Spustitelný soubor a WorkingDirectory úlohy Execute Process mohou být poté aktualizovány výrazem vlastností, které používají tyto proměnné.
Definujte položky v kolekci For Each Item
Zadejte hodnotu pro každý sloupec v tabulce.
Poznámka:
Po zadání hodnot do sloupců řádků se do tabulky automaticky přidá nový řádek.
Poznámka:
Pokud zadané hodnoty nejsou kompatibilní s datovým typem sloupce, text je barevný červeně.
Datový typ sloupce
Zobrazí datový typ aktivního sloupce.
Odstranit
Vyberte položku a potom ji kliknutím na Odebrat odeberte ze seznamu.
Sloupce
Kliknutím nakonfigurujete datový typ sloupců v položce.
Související témata: Referenční informace k uživatelskému rozhraní pro jednotlivé sloupce položek
Enumerator = Foreach ADO Enumerator
Enumerátor Foreach ADO slouží k vytvoření výčtu řádků nebo tabulek v objektu ADO nebo ADO.NET, který je uložen v proměnné. Pokud například smyčka Foreach obsahuje úlohu skriptu, která zapisuje datovou sadu do proměnné, můžete k vytvoření výčtu řádků v datové sadě použít enumerátor Foreach ADO. Pokud proměnná obsahuje datovou sadu ADO.NET, je možné enumerátor nakonfigurovat tak, aby vyčíslil řádky ve více tabulkách nebo aby vyčíslil tabulky.
Zdrojová proměnná objektu ADO
Vyberte v seznamu uživatelem definovanou proměnnou nebo klikněte na tlačítko <Nová proměnná...> a vytvořte novou proměnnou.
Poznámka:
Proměnná musí mít datový typ Objekt, jinak dojde k chybě.
Související témata:Proměnné služby SSIS (Integration Services),Přidání proměnné
Řádky v první tabulce
Výběrem zobrazíte výčet pouze řádků v první tabulce.
Řádky ve všech tabulkách (pouze ADO.NET datová sada)
Výběrem zobrazíte výčet řádků ve všech tabulkách. Tato možnost je k dispozici pouze v případě, že objekty, které chcete vytvořit výčet, jsou všechny členy stejné datové sady ADO.NET.
Všechny tabulky (pouze ADO.NET datová sada)
Vyberte, pokud chcete vytvořit výčet pouze tabulek.
Enumerator = Foreach ADO.NET Výčet sady řádků schématu
K vytvoření výčtu schématu pro zadaný zdroj dat použijete enumerátor Foreach ADO.NET Schématu sady řádků. Pokud například smyčka Foreach obsahuje úlohu Execute SQL, můžete pomocí enumerátoru Foreach ADO.NET Schema Rowset enumerovat schémata, jako jsou sloupce v databázi AdventureWorks, a pomocí úlohy Execute SQL získat oprávnění schématu.
Připojení
V seznamu vyberte správce připojení ADO.NET nebo kliknutím na <tlačítko Nové připojení...> vytvořte nového správce připojení ADO.NET.
Důležité
Správce připojení ADO.NET musí pro OLE DB použít zprostředkovatele .NET. Pokud se připojujete k SQL Serveru, doporučeným poskytovatelem, který se má použít, je sql Server Native Client uvedený v části Zprostředkovatelé .Net pro OleDb dialogového okna Správce připojení .
Související témata:Správce připojení ADO, konfigurace ADO.NET Správce připojení
Schéma
Vyberte schéma, které chcete vyjmenovat.
Nastavit omezení
Související témata: Dialogové okno Omezení schématu; konfigurace správce připojení ADO.NET; a práce s proměnnými služby SSIS (Integration Services) a dialogovým oknem Přidat proměnnou
Enumerator = Foreach z enumerátoru proměnných
Pomocí enumerátoru Foreach From Variable vypíšete výčtové objekty v zadané proměnné. Pokud například smyčka Foreach obsahuje úlohu Execute SQL, která spouští dotaz a ukládá výsledek do proměnné, můžete k vytvoření výčtu výsledků dotazu použít enumerátor Foreach z proměnné.
Proměnná
Vyberte proměnnou v seznamu nebo klikněte na <tlačítko Nová proměnná...> a vytvořte novou proměnnou.
Související témata:Proměnné služby SSIS (Integration Services),Přidání proměnné
Enumerator = Foreach NodeList Enumerator
Enumerátor Foreach Nodelist použijete k vytvoření výčtu sady uzlů XML, které mají za následek použití výrazu XPath na soubor XML. Pokud například smyčka Foreach obsahuje úlohu Skriptu, můžete pomocí enumerátoru Foreach NodeList předat hodnotu, která splňuje kritéria výrazu XPath ze souboru XML do úlohy Skript.
Výraz XPath, který se vztahuje na soubor XML, je vnější operace XPath uložená ve vlastnosti OuterXPathString. Pokud je typ XPath výčtu nastaven na ElementCollection, enumerátor Foreach NodeList může na kolekci elementů použít vnitřní XPath výraz, uložený ve vlastnosti InnerXPathString.
Další informace o práci s dokumenty a daty XML najdete v tématu "Použití XML v rozhraní .NET Framework" v knihovně MSDN.
TypZdrojovéhoDokumentu
Vyberte zdrojový typ dokumentu XML. Tato vlastnost obsahuje možnosti uvedené v následující tabulce:
| Hodnota | Popis |
|---|---|
| Přímý vstup | Nastavte zdroj na dokument XML. |
| Připojení k souboru | Vyberte soubor, který obsahuje dokument XML. |
| Proměnná | Nastavte zdroj na proměnnou, která obsahuje dokument XML. |
Zdroj dokumentu
Pokud je Vlastnost DocumentSourceType nastavena na přímý vstup, zadejte kód XML nebo kliknutím na tlačítko se třemi tečky (...) zadejte XML pomocí dialogového okna Editor zdrojů dokumentů .
Pokud je Vlastnost DocumentSourceType nastavena na souborové připojení, vyberte správce připojení k souborům nebo klikněte na tlačítko <Nové připojení...> a vytvořte nového správce připojení.
Související témata:Správce připojení souborů, Editor Správce připojení souborů
Pokud je Vlastnost DocumentSourceType nastavena na proměnnou, vyberte existující proměnnou nebo klikněte na tlačítko <Nová proměnná...> a vytvořte novou proměnnou.
Související témata:Proměnné služby SSIS (Integration Services) a Přidání proměnné
Typ výčtu
Ze seznamu vyberte typ výčtu. Tato vlastnost obsahuje možnosti uvedené v následující tabulce:
| Hodnota | Popis |
|---|---|
| Navigátor | Vytvoření výčtu pomocí XPathNavigator |
| Uzel | Vytvoří výčet uzlů vrácených operací XPath. |
| NodeText | Vytvoření výčtu textových uzlů vrácených operací XPath |
| ElementCollection | Vyjmenuje uzly elementů vrácené operací XPath. |
OuterXPathStringSourceType
Vyberte typ zdroje řetězce XPath. Tato vlastnost obsahuje možnosti uvedené v následující tabulce:
| Hodnota | Popis |
|---|---|
| Přímý vstup | Nastavte zdroj na dokument XML. |
| Připojení k souboru | Vyberte soubor, který obsahuje dokument XML. |
| Proměnná | Nastavte zdroj na proměnnou, která obsahuje dokument XML. |
OuterXPathString
Pokud je OuterXPathStringSourceType nastavena na přímý vstup, zadejte řetězec XPath.
Pokud je vlastnost OuterXPathStringSourceType nastavená na Připojení k souboru, vyberte správce připojení k souborům nebo klikněte na tlačítko <Nové připojení...> a vytvořte nového správce připojení.
Související témata:Správce připojení souborů, Editor Správce připojení souborů
Pokud je vlastnost OuterXPathStringSourceType nastavená na Proměnná, vyberte existující proměnnou nebo klikněte na tlačítko <Nová proměnná...> a vytvořte novou proměnnou.
Související témata:Proměnné služby SSIS (Integration Services) a Přidání proměnné
InnerElementType
Pokud je EnumerationType nastaveno na ElementCollection, vyberte typ vnitřního prvku v seznamu.
InnerXPathStringSourceType
Vyberte zdrojový typ vnitřního řetězce XPath. Tato vlastnost obsahuje možnosti uvedené v následující tabulce:
| Hodnota | Popis |
|---|---|
| Přímý vstup | Nastavte zdroj na dokument XML. |
| Připojení k souboru | Vyberte soubor, který obsahuje dokument XML. |
| Proměnná | Nastavte zdroj na proměnnou, která obsahuje dokument XML. |
InnerXPathString
Pokud je InnerXPathStringSourceType nastavena na přímý vstup, zadejte řetězec XPath.
Pokud je InnerXPathStringSourceType nastavena na File connection, vyberte Správce připojení k souborům nebo klepněte na tlačítko <Nové připojení...> chcete-li vytvořit nového správce připojení.
Související témata:Správce připojení souborů, Editor Správce připojení souborů
Pokud je innerXPathStringSourceType nastavena na Proměnná, vyberte existující proměnnou nebo klepněte na tlačítko <Nová proměnná...> chcete-li vytvořit novou proměnnou.
Související témata:Proměnné služby SSIS (Integration Services) a Přidání proměnné
Enumerator = Foreach SMO Enumerator
Enumerátor Foreach SMO slouží k vytvoření výčtu objektů SMO (SQL Server Management Object). Pokud například smyčka Foreach obsahuje úlohu Execute SQL, můžete pomocí enumerátoru Foreach SMO vytvořit výčet tabulek v databázi AdventureWorks a spouštět dotazy, které počítají počet řádků v každé tabulce.
Připojení
Vyberte existujícího správce připojení ADO.NET nebo kliknutím na <tlačítko Nové připojení...> vytvořte nového správce připojení.
Související témata: ADO.NET Správce připojení, Konfigurace ADO.NET Správce připojení
Vyjmenovat
Zadejte objekt SMO k vytvoření výčtu.
Procházet
Vyberte enumeraci SMO.
Související témata: Dialogové okno Vybrat výčet SMO
Enumerator = Foreach HDFS souborový enumerátor
Enumerátor souborů Foreach HDFS umožňuje balíčku SSIS vytvořit výčet souborů HDFS v zadaném umístění HDFS. Název každého souboru HDFS lze uložit do proměnné a použít v úlohách uvnitř kontejneru smyčky Foreach.
Správce připojení Hadoop
Zadejte existující správce připojení Hadoop nebo vytvořte nový, který odkazuje na umístění hostovaných souborů HDFS. Další informace najdete v tématu Správce připojení Hadoop.
Cesta k adresáři
Zadejte název adresáře HDFS, který obsahuje soubory HDFS, které mají být uvedeny.
Filtr názvů souborů
Zadejte filtr názvů pro výběr souborů s určitým vzorem názvů. Například MySheet*.xls* obsahuje soubory, jako jsou MySheet001.xls a MySheetABC.xlsx.
Načtení názvu souboru
Zadejte typ názvu souboru načteného službou SSIS.
Plně kvalifikovaný název znamená úplný název, který obsahuje cestu k adresáři a název souboru.
Pouze název znamená, že se název souboru načte bez cesty.
Procházení podsložek
Určete, jestli se mají podsložky procházet rekurzivně.
Na stránce Mapování proměnných editoru vyberte nebo vytvořte proměnnou pro uložení názvu vyjmenovaného souboru HDFS.
Enumerator - Foreach Azure Blob Enumerator
Enumerátor objektů blob Azure umožňuje balíčku SSIS vytvořit výčet souborů objektů blob v zadaném umístění objektu blob. Název souboru výčtu objektu blob můžete uložit do proměnné a použít ho v úkolech uvnitř kontejneru smyčky Foreach.
Enumerátor objektů blob v Azure je součástí balíčku funkcí SSIS (SQL Server Integration Services) pro Azure for SQL Server 2016 (13.x). Stáhněte si balíček funkcí.
Správce připojení úložiště Azure
Vyberte existujícího Správce připojení služby Azure Storage nebo vytvořte nový, který odkazuje na účet úložiště Azure.
Související témata: Azure Storage Connection Manager.
Název kontejneru blob
Zadejte název kontejneru objektů blob, který obsahuje soubory objektů blob, které mají být uvedeny.
Adresář objektů blob
Zadejte adresář objektů blob, který obsahuje soubory objektů blob, které mají být uvedeny. Adresář objektů blob je virtuální hierarchická struktura.
Rekurzivní vyhledávání
Určete, jestli se má rekurzivně prohledávat v rámci podadresáží.
Filtr názvů objektů blob
Zadejte filtr názvů pro vytvoření výčtu souborů s určitým vzorem názvů. Například MySheet*.xls\* zahrnuje soubory jako MySheet001.xls a MySheetABC.xlsx.
Časový rozsah blob pro filtr
Zadejte filtr časového rozsahu. Soubory upravené po TimeRangeFrom a před TimeRangeTo jsou vyjmenovány.
Enumerator = Procházeč souborů ADLS
Enumerátor ADLS File Enumerator umožňuje balíčku SSIS vytvořit výčet souborů v Azure Data Lake Store. Úplnou cestu k vyjmenovanému souboru (s předponou lomítka - /) můžete uložit do proměnné a použít ji v úkolech uvnitř kontejneru smyčky Foreach.
AzureDataLakeConnection
Určuje správce připojení Azure Data Lake nebo vytvoří nový, který odkazuje na účet ADLS.
AzureDataLakeDirectory
Určuje adresář ADLS, který obsahuje soubory, které mají být uvedeny.
FileNamePattern
Určuje filtr názvů souborů. Výčet se zobrazí pouze souborům, jejichž názvy odpovídají zadanému vzoru. Zástupné kóty * a ? jsou podporované.
SearchRecursively
Určuje, jestli se má prohledávat rekurzivně v zadaném adresáři.
Enumerátor = Procházet souborový enumerátor v Data Lake Storage Gen2
Enumerátor foreach Data Lake Storage Gen2 umožňuje balíčku SSIS vytvořit výčet souborů v Azure Data Lake Storage Gen2.
AzureStorageConnection
Určuje existujícího Správce připojení služby Azure Storage nebo vytvoří nový, který odkazuje na službu Data Lake Storage Gen2.
Cesta ke složce
Určuje cestu ke složce k vytvoření výčtu souborů.
SearchRecursively
Určuje, jestli se má prohledávat rekurzivně v zadané složce.
poznámky ke konfiguraci oprávnění service principal
Oprávnění Data Lake Storage Gen2 určuje jak RBAC, tak ACL. Dávejte pozor, že seznamy ACL jsou konfigurovány pomocí ID objektu (OID) služebního účtu pro registraci aplikace. Podívejte se jak správně nastavit seznamy ACL pro služebního principála? Liší se od ID aplikace (klienta), které se používá s konfigurací RBAC. Když je objektu zabezpečení přiřazena datová oprávnění RBAC prostřednictvím předdefinované nebo vlastní role, tato oprávnění jsou nejprve vyhodnocena při autorizaci požadavku. Pokud je požadovaná operace autorizována podle RBAC přiřazení objektu zabezpečení, autorizace je okamžitě vyřešena a neprovádějí se žádné další kontroly ACL. Případně pokud objekt zabezpečení nemá přiřazení RBAC nebo operace požadavku neodpovídá přiřazeným oprávněním, provede se kontrola seznamu ACL, která určí, jestli má objekt zabezpečení oprávnění k provedení požadované operace. Aby enumerátor fungoval, udělte alespoň oprávnění Spustit od kořenového systému souborů spolu s oprávněním ke čtení cílové složky. Případně udělte roli Čtenář dat pro objekty blob úložiště () s řízením přístupu na základě rolí (RBAC). Podrobnosti najdete v tomto článku.
Stránka Mapování proměnných – Editor smyčky Foreach
Pomocí stránky Mapování proměnných dialogového okna Editor smyčky Foreach mapujte proměnné na hodnotu kolekce. Hodnota proměnné se aktualizuje hodnotami kolekce pro každou iteraci smyčky.
Kurz Microsoft SQL Server Integration Services, Vytvoření jednoduchého balíčku ETL, obsahuje lekci, která vás naučí, jak přidat a nakonfigurovat smyčku Foreach.
Možnosti
Proměnná
Vyberte existující proměnnou nebo klikněte na tlačítko Nová proměnná... a vytvořte novou proměnnou.
Poznámka:
Po mapování proměnné se do seznamu Proměnný automaticky přidá nový řádek.
Související témata: Proměnné integračních služeb (SSIS),Přidání proměnné
Index
Pokud používáte enumerátor Foreach Item, zadejte index sloupce v hodnotě kolekce, který se má mapovat na proměnnou. U jiných typů enumerátoru je index jen pro čtení.
Poznámka:
Index je založený na 0.
Vymazat
Vyberte proměnnou a klikněte na Odstranit.
Dialogové okno Omezení schématu (ADO.NET)
Pomocí dialogového okna Omezení schématu nastavte omezení schématu, která se mají použít pro výčet Foreach ADO.NET Schema Rowset enumerátoru.
Možnosti
Omezení
Vyberte omezení, která chcete použít pro schéma.
Proměnná
K definování omezení použijte proměnnou. Vyberte proměnnou v seznamu nebo klikněte na tlačítko Nová proměnná... a vytvořte novou proměnnou.
Související témata:Proměnné služby SSIS (Integration Services),Přidání proměnné
Text
Zadejte text, který definuje omezení.
Dialogové okno Sloupce jednotlivých položek
Pomocí dialogového okna Sloupce pro každou položku (For Each Item Columns) definujte sloupce v položkách, které výčtový objekt Foreach Item vyčísluje.
Možnosti
sloupce
Zobrazí seznam sloupců.
Datový typ
Vyberte datový typ.
Přidat
Přidejte nový sloupec.
Odstranit
Vyberte sloupec a klepněte na tlačítko Odebrat.
Dialogové okno Vybrat výčet SMO
V dialogovém okně Select SMO Enumeration zadejte objekt SMO (SQL Server Management Objects) na zadané instanci SQL Serveru k enumeraci a vyberte typ enumerace.
Možnosti
Vyjmenovat
Rozbalte server a vyberte objekt SMO.
objekty
Použijte typ výčtu Objects.
Předem vyplnit
Použijte možnost Prepopulate s typem výčtu Objects.
Jména
Použijte typ výčtu Names.
Urny
Použijte typ výčtu URN.
Umístění
**
Použijte výčtový typ Locations. Tato možnost je dostupná jenom pro soubory.
Používejte výrazy vlastností s kontejnery smyčky Foreach
Balíčky lze nakonfigurovat tak, aby souběžně spouštěly více spustitelných souborů. Tato konfigurace by se měla používat s opatrností, pokud balíček obsahuje kontejner smyčky Foreach, který implementuje výrazy vlastností.
Je často užitečné implementovat výraz vlastnosti k nastavení hodnoty vlastnosti ConnectionString u správců připojení, které používají enumerátory Foreach smyčky. Výraz vlastnosti ConnectionString je nastaven proměnnou, která odpovídá na hodnotu kolekce enumerátoru a je aktualizována při každé iteraci cyklu.
Aby nedocházelo k negativním důsledkům nedeterminativního načasování paralelního provádění úloh ve smyčce, měl by být balíček nakonfigurovaný tak, aby běžel najednou jenom jeden spustitelný soubor. Pokud například balíček může souběžně spouštět více úloh, kontejner smyčky Foreach, který vypíše soubory ve složce, načte názvy souborů a pak pomocí úlohy Execute SQL vloží názvy souborů do tabulky, může dojít ke konfliktům zápisu, když se dvě instance úlohy Execute SQL pokusí najednou zapisovat. Další informace naleznete v tématu Použití výrazů vlastností v balíčcích.