Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
SSIS integrációs futtatókörnyezet az Azure Data Factory-ban
A Foreach Loop-tároló ismétlődő vezérlőfolyamatot határoz meg egy csomagban. A hurok implementációja hasonló a programozási nyelvek Foreach ciklusszerkezetéhez. A csomagban a ciklusok engedélyezése Foreach enumerátor használatával történik. A Foreach Loop-tároló megismétli a vezérlőfolyamatot egy adott enumerátor minden egyes tagjára vonatkozóan.
Az SQL Server Integration Services a következő enumerátortípusokat biztosítja:
Foreach ADO enumerátor a táblák sorainak felsorolására. Lekérheti például egy ADO-rekordhalmaz sorait.
A Rekordhalmaz célhely az objektum adattípusú csomagváltozóban tárolt rekordhalmazban menti az adatokat a memóriába. Általában egy Foreach Loop-tárolót használ a Foreach ADO enumerátorral a rekordhalmaz egy sorának egyszerre történő feldolgozásához. A Foreach ADO enumerátorhoz megadott változónak objektum típusúnak kell lennie. A Rekordhalmaz célhelyéről további információt a Rekordhalmaz célhelyének használata című témakörben talál.
A Foreach ADO.NET Sémasorkészlet enumerátora az adatforrás sémaadatainak számbavételéhez. Az AdventureWorks2025 SQL Server-adatbázisban például számba vehet és lekérhet táblákat.
Foreach fájl-felsoroló, amely fájlokat sorol fel egy mappában. Az enumerátor bejárhatja az almappákat. Elolvashatja például azokat a fájlokat, amelyek *.log fájlnévkiterjesztéssel rendelkeznek a Windows mappában és annak almappáiban. Vegye figyelembe, hogy a fájlok lekérési sorrendje nem határozható meg.
A Foreach From Variable enumerátor felsorolja a megadott változó által tartalmazott felsorolható objektumot. A számba vehető objektum lehet tömb, ADO.NET DataTable, Integration Services enumerátor stb. Számba vehet például egy olyan tömb értékeit, amelyek a kiszolgálók nevét tartalmazzák.
Foreach elem enumerátor a gyűjtemények elemeinek iterálására. Számba vehet például a végrehajtási folyamat tevékenység által használt végrehajtható és munkakönyvtárak nevét.
Az XML Path Language (XPath) kifejezés eredményhalmazának számbavételéhez használja a Csomópontlista enumerátorát. Ez a kifejezés például számba veszi és lekéri a klasszikus időszak összes szerzőjének listáját:
/authors/author[@period='classical'].Foreach SMO enumerator az SQL Server Management Objects (SMO) objektumok számbavételéhez. Számba vehet és lekérhet például egy SQL Server-adatbázis nézeteit.
Foreach HDFS File Enumerator a HDFS-fájlok számbavételéhez a megadott HDFS-helyen.
Az Azure Blob Enumerator előkövetése a blobok számbavételéhez az Azure Storage-ban lévő blobtárolóban.
Minden ADLS fájl felsoroló az Azure Data Lake Store könyvtárában lévő fájlok felsorolására.
Az Azure Data Lake Store Gen2-ben található könyvtáron belüli fájlok felsorolásához használja a Foreach Data Lake Storage Gen2 fájl-felsoroló elemet.
Az alábbi ábra egy Foreach Loop-tárolót mutat be, amely fájlrendszer-feladatokat is biztosít. A Foreach-hurok a Foreach-fájl enumerátorát használja, a fájlrendszer feladat pedig úgy van konfigurálva, hogy egy fájlt másoljon. Ha az enumerátor által megadott mappa négy fájlt tartalmaz, a ciklus négyszer ismétlődik, és négy fájlt másol.
Változók és tulajdonságkifejezések kombinációjával frissítheti a csomagobjektum tulajdonságát az enumerátor gyűjteményértékével. Először leképezi a gyűjtemény értékét egy felhasználó által definiált változóra, majd implementál egy tulajdonságkifejezést a változót használó tulajdonságon. A Foreach-fájl számbavételi értéke például egy MyFile nevű változóra van leképezve, és a változót a Rendszer a Küldési levelek feladat Tárgy tulajdonságának tulajdonságkifejezésében használja. A csomag futtatásakor a Tárgy tulajdonság minden alkalommal frissül egy fájl nevével, amikor a hurok ismétlődik. További információ: Tulajdonságkifejezések használata a csomagokban.
A számbavételi értékre leképezett változók kifejezésekben és szkriptekben is használhatók.
A Foreach Loop-tárolók több feladatot és tárolót is tartalmazhatnak, de csak egy típusú enumerátort használhatnak. Ha a Foreach Loop-tároló több tevékenységet is tartalmaz, az enumerátor-gyűjtemény értékét az egyes tevékenységek több tulajdonságára is leképezheti.
A Foreach Loop-tárolóban beállíthat egy tranzakcióattribútumot a csomagvezérlési folyamat egy részhalmazának tranzakciójának meghatározásához. Ily módon a foreach hurok szintjén kezelheti a tranzakciókat a csomagszint helyett. Ha például egy Foreach Loop-tároló megismétel egy olyan vezérlőfolyamatot, amely egy csillagsémában frissíti a dimenziókat és a ténytáblákat, konfigurálhat egy tranzakciót, hogy az összes ténytábla sikeresen frissüljön, vagy egyik sem frissüljön. További információ: Integration Services-tranzakciók.
Enumerátortípusok
Az enumerátorok konfigurálhatók, és az enumerátortól függően különböző információkat kell megadnia.
Az alábbi táblázat összefoglalja az enumerátortípusok által igényelt információkat.
| Számláló | Konfigurációs követelmények |
|---|---|
| Foreach ADO | Adja meg az ADO objektumforrás változóját és az enumerátor módot. A változónak objektum adattípusúnak kell lennie. |
| Foreach ADO.NET sémasorkészlet | Adja meg az adatbázishoz való kapcsolatot és a számbavételhez szükséges sémát. |
| Foreach-fájl | Adjon meg egy mappát és az enumerálni kívánt fájlokat, a lekért fájlok fájlnevének formátumát, valamint azt, hogy az almappákra kell-e áttérni. |
| Mindegyik egy változóból | Adja meg az enumerálni kívánt objektumokat tartalmazó változót. |
| Foreach elem | Adja meg a Foreach-elemgyűjtemény elemeit, beleértve az oszlopokat és az oszlop adattípusokat. |
| Foreach Nodelist | Adja meg az XML-dokumentum forrását, és konfigurálja az XPath-műveletet. |
| Foreach SMO | Adja meg az adatbázishoz való kapcsolatot és a számbavételhez szükséges SMO-objektumokat. |
| Foreach HDFS-fájl számbavétele | Adjon meg egy mappát és az enumerálni kívánt fájlokat, a lekért fájlok fájlnevének formátumát, valamint azt, hogy az almappákra kell-e áttérni. |
| Foreach Azure Blob | Adja meg az enumerálandó blobokat tartalmazó Azure Blob Storage-tárolót. |
| Foreach ADLS-fájl | Adja meg a számba venni kívánt fájlokat tartalmazó Azure Data Lake Store könyvtárat. |
| Foreach Data Lake Storage Gen2-fájl | Adja meg az Azure Data Lake Storage Gen2 könyvtárat, amely tartalmazza a számba venni kívánt fájlokat, valamint egyéb beállításokat. |
Számbavétel hozzáadása vezérlőfolyamathoz Foreach Loop-tárolóval
Az Integration Services tartalmazza a Foreach Loop-tárolót, egy vezérlőfolyamat-elemet, amely megkönnyíti a fájlok és objektumok számbavételét a csomag vezérlőfolyamatában. További információ: Foreach Loop Container.
A Foreach Loop-tároló nem biztosít funkcionalitást; Csak azt a struktúrát adja meg, amelyben az megismételhető vezérlőfolyamatot létrehozza, megad egy számbavételi típust, és konfigurálja az enumerátort. A tárolófunkciók biztosításához legalább egy feladatot be kell vonnia a Foreach Loop-tárolóba. További információt az Integrációs szolgáltatások feladatai című témakörben talál.
A Foreach Loop-tároló több tevékenységgel és más tárolókkal rendelkező vezérlőfolyamatot is tartalmazhat. A feladatok és tárolók Foreach Loop tárolóhoz való hozzáadása hasonló ahhoz, mintha egy csomaghoz adná hozzá őket, kivéve, hogy a feladatokat és a tárolókat a Foreach Loop tárolóba húzza, nem pedig a csomagba. Ha a Foreach Loop-tároló több feladatot vagy tárolót is tartalmaz, a csomaghoz hasonlóan elsőbbséget élvező megkötések használatával is csatlakoztathatja őket. További információ: Elsőbbségi korlátozások.
Foreach Loop-tároló hozzáadása és konfigurálása
Adja hozzá a Foreach Loop-tárolót a csomaghoz. További információ: Tevékenység vagy tároló hozzáadása vagy törlése egy vezérlőfolyamatban.
Tevékenységek és tárolók hozzáadása a Foreach Loop-tárolóhoz. További információ: Tevékenység vagy tároló hozzáadása vagy törlése egy vezérlőfolyamatban.
A Foreach Loop-tárolóban lévő tevékenységek és tárolók összekapcsolása elsőbbséget élvező korlátozások használatával. További információ: Tevékenységek és tárolók csatlakoztatása alapértelmezett elsőbbségi kényszer használatával.
Konfigurálja a Foreach Loop-tárolót.
Foreach-huroktároló konfigurálása
Ez az eljárás bemutatja, hogyan konfigurálható a Foreach Loop-tároló, beleértve a tulajdonságkifejezéseket az enumerátor és a tároló szintjén.
Az SQL Server Data Tools (SSDT) alkalmazásban nyissa meg a kívánt csomagot tartalmazó Integration Services-projektet.
Kattintson a Control Flow fülre, és kattintson duplán a Foreach-hurokra.
A Foreach Hurokszerkesztő párbeszédpanelen kattintson az Általános gombra, és szükség esetén módosítsa a Foreach-ciklus nevét és leírását.
Kattintson a Gyűjtemény gombra, és válasszon ki egy enumerátortípust az Enumerátor listából.
Adjon meg egy enumerátort, és adja meg az enumerátor beállításait az alábbiak szerint:
A Foreach-fájlnumerátor használatához adja meg a számba venni kívánt fájlokat tartalmazó mappát, adjon meg egy szűrőt a fájlnévhez és a típushoz, és adja meg, hogy a teljes fájlnevet vissza kell-e adni. Azt is jelezze, hogy keressen-e al- vagy almappákban további fájlokat.
A Foreach Elem számbavételi elemének használatához kattintson az Oszlopok elemre, majd az Egyes elemek oszlopaipárbeszédpanelEn kattintson a Hozzáadás gombra az oszlopok hozzáadásához. Jelöljön ki egy adattípust az egyes oszlopok Adattípus listájában, és kattintson az OK gombra.
Írjon be értékeket az oszlopokba, vagy jelöljön ki értékeket a listákból.
Megjegyzés:
Új sor hozzáadásához kattintson a beírt cellán kívülre.
Megjegyzés:
Ha egy érték nem kompatibilis az oszlop adattípusával, a szöveg ki van emelve.
A Foreach ADO enumerátor használatához válasszon ki egy meglévő változót, vagy kattintson az Új változó elemre az ADO objektumforrás változólistájában annak a változónak a megadásához, amely az ADO-objektum nevét tartalmazza, és válasszon egy enumerálási módot.
Ha új változót hoz létre, állítsa be a változó tulajdonságait a Változó hozzáadása párbeszédpanelen.
A Foreach ADO.NET Schema Rowset enumerator használatához válasszon ki egy meglévő ADO.NET kapcsolatot, vagy kattintson az Új kapcsolat gombra a Kapcsolat listában, majd válasszon egy sémát.
Ha szeretné, kattintson a Korlátozások beállítása gombra , válassza ki a sémakorlátozásokat, jelölje ki a korlátozás értékét tartalmazó változót, vagy írja be a korlátozás értékét, majd kattintson az OK gombra.
A Foreach From Variable enumerator használatához válasszon ki egy változót a Változó listában.
A Foreach NodeList enumerator használatához kattintson a DocumentSourceType elemre, és válassza ki a forrástípust a listából, majd kattintson a DocumentSource gombra. A DocumentSourceType értékétől függően válasszon ki egy változót vagy egy fájlkapcsolatot a listából, hozzon létre egy új változót vagy fájlkapcsolatot, vagy írja be az XML-forrást a Dokumentumforrás-szerkesztőbe.
Ezután kattintson az EnumerationType elemre, és válasszon egy enumerálási típust a listából. Ha az EnumerationType Navigátor, csomópont vagy NodeText, kattintson az OuterXPathStringSourceType elemre, és válassza ki a forrástípusát, majd kattintson az OuterXPathString elemre. Az OuterXPathStringSourceType értékkészletétől függően válasszon ki egy változót vagy egy fájlkapcsolatot a listából, hozzon létre egy új változót vagy fájlkapcsolatot, vagy írja be a külső XML Path Language (XPath) kifejezés sztringét.
Ha az EnumerationType ElementCollection, akkor az OuterXPathStringSourceType és az OuterXPathString értékét a fent leírtak szerint kell beállítani. Ezután kattintson az InnerElementType elemre, és válasszon egy enumerálási típust a belső elemekhez, majd kattintson az InnerXPathStringSourceType elemre. Az InnerXPathStringSourceType értékkészletétől függően válasszon ki egy változót vagy egy fájlkapcsolatot, hozzon létre egy új változót vagy fájlkapcsolatot, vagy írja be a belső XPath-kifejezés sztringét.
A Foreach SMO enumerátor használatához jelöljön ki egy meglévő ADO.NET kapcsolatot, vagy kattintson az Új kapcsolat gombra a Kapcsolat listában, majd írja be a használni kívánt sztringet, vagy kattintson a Tallózás gombra. Ha a Tallózás gombra kattint, az SMO-számbavétel kiválasztása párbeszédpanelen válassza ki az enumerálni kívánt objektumtípust és az enumerálás típusát, majd kattintson az OK gombra.
Ha szeretné, kattintson a Tallózás gombra (...) a Gyűjtemény lap Kifejezések szövegmezőjében a tulajdonságértékeket frissítő kifejezések létrehozásához. További információ: Tulajdonságkifejezés hozzáadása vagy módosítása.
Megjegyzés:
A Tulajdonságlistában felsorolt tulajdonságok enumerátoronként eltérőek.
Ha szeretné, kattintson a Változóleképezések elemre az objektumtulajdonságok gyűjteményértékhez való leképezéséhez, majd tegye a következőket:
A Változók listában válasszon ki egy változót, vagy kattintson az Új változó< gombra> egy új változó létrehozásához.
Ha új változót ad hozzá, állítsa be a változó tulajdonságait a Változó hozzáadása párbeszédpanelen, és kattintson az OK gombra.
Ha az Egymás utáni elem enumerátort használja, frissítheti az index értékét az Index listában.
Megjegyzés:
Az index értéke azt jelzi, hogy az elem melyik oszlopa feleltethető meg a változónak. Csak az Egyes elemek enumerátora használhat 0-nál eltérő indexértéket.
Ha szeretné, kattintson a Kifejezések elemre, és a Kifejezések lapon hozzon létre tulajdonságkifejezéseket a Foreach Loop-tároló tulajdonságaihoz. További információ: Tulajdonságkifejezés hozzáadása vagy módosítása.
Kattintson az OK gombra.
Általános lap – Foreach Loop Editor
A Foreach Hurokszerkesztő párbeszédpanel Általános lapján nevezhet el és írhat le egy Foreach Loop-tárolót, amely egy megadott enumerátort használ a gyűjtemény minden egyes tagjának munkafolyamatának ismétléséhez.
Beállítások
Név
Adjon meg egy egyedi nevet a Foreach Loop-tárolónak. A feladatikonban és a naplókban ezt a nevet használja címkeként.
Megjegyzés:
Az objektumneveknek egyedinek kell lenniük egy csomagon belül.
Leírás
Írja be a Foreach Loop-tároló leírását.
Gyűjtemény lapja – Foreach Loop Editor
Az enumerátor típusának megadásához és az enumerátor konfigurálásához használja a Foreach Hurokszerkesztő párbeszédpanel Gyűjtemény lapját.
A Foreach Loop-tárolóról és annak konfigurálásáról további információt a Foreach Loop-tároló és a Foreach Loop-tároló konfigurálása című témakörben talál.
Statikus beállítások
Enumerátor
Válassza ki az enumerátor típusát a listából. Ez a tulajdonság az alábbi táblázatban felsorolt lehetőségeket tartalmazza:
| Érték | Leírás |
|---|---|
| Foreach File Enumerator | Fájlok számbavétele. Ha ezt az értéket választja, megjelenik a Foreach File Enumerator szakasz dinamikus beállításai. |
| Foreach Item Enumerator | Értékek számbavétele egy elemben. Ha ezt az értéket választja, a Foreach Item Enumerator szakasz dinamikus beállításai jelennek meg. |
| Foreach ADO Enumerator | Táblák vagy sorok számbavétele a táblákban. Ha ezt az értéket választja, a Foreach ADO Enumerator szakasz dinamikus beállításai jelennek meg. |
| Foreach ADO.NET Schema Rowset Enumerator | Séma felsorolása. Ha ezt az értéket választja, a Foreach ADO.NET Enumerator szakasz dinamikus beállításai jelennek meg. |
| Foreach From Variable Enumerator | Számba kell adnia egy változó értékét. Ha ezt az értéket választja, a Foreach From Variable Enumerator szakaszban látható dinamikus beállítások jelennek meg. |
| Foreach Nodelist Enumerator | Csomópontok számbavétele EGY XML-dokumentumban. Ha ezt az értéket választja, megjelenik a Foreach Nodelist Enumerator szakasz dinamikus beállításai. |
| Foreach SMO Enumerator | SMO-objektum számbavétele. Ha ezt az értéket választja, a Foreach SMO Enumerator szakasz dinamikus beállításai jelennek meg. |
| Foreach HDFS-fájl számbavétele | A HDFS-fájlok számbavétele a megadott HDFS-helyen. Ha bejelöli ezt az értéket, megjelenik a Foreach HDFS File Enumerator című szakasz dinamikus beállításai. |
| Foreach Azure Blob Enumerator | Blobfájlok számbavétele a megadott blobhelyen. Ha ezt az értéket választja, a Foreach Azure Blob Enumerator szakasz dinamikus beállításai jelennek meg. |
| Foreach ADLS-fájl számbavétele | A megadott Data Lake Store-címtárban lévő fájlok számbavétele. Ha ezt az értéket választja, megjelenik a Foreach ADLS-fájl enumerátora című szakasz dinamikus beállításai. |
| Foreach Data Lake Storage Gen2 File Enumerator | A megadott Data Lake Storage Gen2 könyvtár fájljainak számbavétele. Ha ezt az értéket választja, a Foreach Data Lake Storage Gen2 File Enumerator című szakasz dinamikus beállításai jelennek meg. |
Kifejezések
Kattintson vagy bontsa ki a Kifejezések elemet a meglévő tulajdonságkifejezések listájának megtekintéséhez. Kattintson a három pontra (...) az enumerátor tulajdonság tulajdonságkifejezésének hozzáadásához, vagy egy meglévő tulajdonságkifejezés szerkesztéséhez és kiértékeléséhez.
Kapcsolódó témakörök:Integration Services (SSIS) kifejezések, tulajdonságkifejezések szerkesztője, Kifejezésszerkesztő
Enumerátor dinamikus beállításai
Enumerátor = Fájlonkénti Felsorolás Enumerátor
A Foreach File enumerator használatával számba kell adnia egy mappában lévő fájlokat. Ha például a Foreach hurok tartalmaz egy SQL-feladat végrehajtása feladatot, a Foreach-fájl számbavételével számba vehet olyan fájlokat, amelyek sql-utasításokat tartalmaznak, amelyeket az SQL-feladat végrehajtása futtat. Az enumerátor konfigurálható, hogy tartalmazza az almappákat.
Azoknak a mappáknak és almappáknak a tartalma, amelyeket a Foreach-fájl számba vesz, megváltozhat a ciklus végrehajtása közben, mert a hurokban lévő külső folyamatok vagy feladatok fájlokat adnak hozzá, neveznek át vagy törölnek a hurok végrehajtása közben. Ezek a módosítások számos váratlan helyzetet okozhatnak:
Ha a fájlok törlődnek, a Foreach-ciklus egyik feladatának műveletei más fájlkészletet érinthetnek, mint a későbbi feladatok által használt fájlok.
Ha a fájlokat átnevezik, és egy külső folyamat automatikusan fájlokat ad hozzá az átnevezett fájlok lecseréléséhez, a Foreach-ciklus feladatai kétszer is érinthetik ugyanazokat a fájlokat.
Ha fájlokat adnak hozzá, előfordulhat, hogy nehéz meghatározni, hogy mely fájlok érintettek a Foreach Loopban.
Mappa
Adja meg a számbavételhez szükséges gyökérmappa elérési útját.
Tallózás
Keressen a gyökérmappa megkereséséhez.
Fájlok
Adja meg az enumerálni kívánt fájlokat.
Megjegyzés:
Helyettesítő karakterek (*) használatával adja meg a gyűjteménybe felvenni kívánt fájlokat. Ha például "abc"-t tartalmazó fájlokat szeretne felvenni, használja a következő szűrőt: *abc*.
Ha fájlnévkiterjesztést ad meg, az enumerátor olyan fájlokat is visszaad, amelyeknek ugyanaz a kiterjesztésük, és további karaktereket fűznek hozzá. (Ez ugyanaz a viselkedés, mint a dir parancs az operációs rendszerben, amely szintén összehasonlítja a 8.3 fájlneveket a visszamenőleges kompatibilitás érdekében.) Az enumerátor viselkedése váratlan eredményeket okozhat. Például csak az Excel 2003-fájlokat szeretné számba venni, és a "*.xls" értéket adja meg. Az enumerátor azonban Excel 2007-fájlokat is visszaad, mert ezek a fájlok a ".xlsx" kiterjesztéssel rendelkeznek.
Egy kifejezéssel megadhatja a gyűjteménybe felvenni kívánt fájlokat. Ehhez bontsa ki a Kifejezéseket a Gyűjtemény lapon, jelölje ki a FileSpec tulajdonságot, majd kattintson a három pontra (...) a tulajdonságkifejezés hozzáadásához.
Teljes körűen minősített
Válassza a lehetőséget a fájlnevek teljes elérési útvonalának lekérésére. Ha a Fájlok opcióban helyettesítő karaktereket adnak meg, akkor a visszatérített teljes útvonalak megfelelnek a szűrőnek.
Csak név
Ha csak a fájlneveket szeretné lekérni, válassza a lehetőséget. Ha a Fájlok beállításban helyettesítő karakterek vannak megadva, akkor a visszaadott fájlnevek megegyeznek a szűrővel.
Név és bővítmény
Válassza ki a fájlneveket és a fájlnévkiterjesztéseket. Ha a Fájlok beállításban helyettesítő karakterek vannak megadva, akkor a visszaadott fájlok neve és kiterjesztése megegyezik a szűrővel.
Átjárási almappák
Jelölje be, hogy az almappák is szerepeljenek az enumerálásban.
Enumerator = Minden egyes elem enumeráló
A Foreach Item enumerátor használva felsorolhatja a gyűjtemény elemeit. A gyűjtemény elemeit oszlopok és oszlopértékek megadásával határozhatja meg. A sor oszlopai meghatároznak egy elemet. Egy olyan elem például, amely meghatározza a végrehajtási folyamat feladat által futtatott végrehajtható fájlokat, és a tevékenység által használt munkakönyvtár két oszlopból áll, amelyek a végrehajtható elemek nevét és a munkakönyvtárat listázzák. A sorok száma határozza meg a ciklus ismétlődésének számát. Ha a táblázat 10 sorból áll, a ciklus tízszer ismétlődik.
A Végrehajtási folyamat feladat tulajdonságainak frissítéséhez a változókat elemoszlopokra kell képeznie az oszlop indexének használatával. Az enumerátorelemben definiált első oszlop indexértéke 0, a második oszlop 1 stb. A változóértékek a ciklus minden ismétlésével frissülnek. A végrehajtási folyamat feladat végrehajtható és WorkingDirectory tulajdonságai ezután frissíthetők az ezeket a változókat használó tulajdonságkifejezésekkel.
Az Egyes elemek gyűjtemény elemeinek meghatározása
Adjon meg egy értéket a tábla minden oszlopához.
Megjegyzés:
A soroszlopok értékeinek megadása után a rendszer automatikusan hozzáad egy új sort a táblához.
Megjegyzés:
Ha a megadott értékek nem kompatibilisek az oszlop adattípusával, a szöveg piros színű lesz.
Oszlop adattípusa
Az aktív oszlop adattípusát sorolja fel.
távolítsa el
Jelöljön ki egy elemet, majd az Eltávolítás gombra kattintva távolítsa el a listából.
Oszlopok
Ide kattintva konfigurálhatja az elem oszlopainak adattípusát.
Kapcsolódó témakörök: Az egyes elemoszlopok párbeszédpanel felhasználói felületének referenciája
Enumerator = Foreach ADO Enumarátor
A Foreach ADO enumerator használatával számba kell adnia egy változóban tárolt ADO- vagy ADO.NET objektum sorait vagy tábláját. Ha például a Foreach-hurok tartalmaz egy szkriptfeladatot, amely egy változóba ír egy adathalmazt, a Foreach ADO enumerátorával számba vehet sorokat az adathalmazban. Ha a változó ADO.NET adatkészletet tartalmaz, az enumerátor konfigurálható több tábla sorainak számbavételére vagy táblák számbavételére.
ADO objektumforrás változója
Válasszon ki egy felhasználó által definiált változót a listában, vagy kattintson az < gombra egy > új változó létrehozásához.
Megjegyzés:
A változónak az Objektum adattípussal kell rendelkeznie, ellenkező esetben hiba történik.
Kapcsolódó témakörök:Integration Services (SSIS) változók, változó hozzáadása
Sorok az első táblázatban
Ha csak az első tábla sorait szeretné számba adni, jelölje ki.
Sorok az összes táblában (csak ADO.NET adatkészletben)
Jelölje be a sorok számbavételét az összes táblában. Ez a beállítás csak akkor érhető el, ha az enumerálni kívánt objektumok mind ugyanahhoz a ADO.NET adatkészlethez tartoznak.
Minden tábla (csak ADO.NET adatkészlet)
Csak a táblák számbavételéhez válassza ki.
Enumerator = Foreach ADO.NET séma sorhalmaz enumerátor
A Foreach ADO.NET Schema Rowset enumerator használatával számba kell adnia egy adott adatforrás sémáját. Ha például a Foreach-ciklus végrehajtási SQL-feladatot tartalmaz, a Foreach ADO.NET Schema Rowset enumerator használatával számba vehet sémákat, például az AdventureWorks-adatbázis oszlopait, és az SQL-feladat végrehajtása a sémaengedélyek lekéréséhez.
Kapcsolat
Jelöljön ki egy ADO.NET kapcsolatkezelőt a listában, vagy kattintson < az Új kapcsolat...> gombra egy új ADO.NET kapcsolatkezelő létrehozásához.
Fontos
A ADO.NET kapcsolatkezelőnek .NET-szolgáltatót kell használnia az OLE DB-hez. Ha az SQL Serverhez csatlakozik, a javasolt szolgáltató az SQL Server natív ügyfele, amely a Connection Manager párbeszédpanel .Net Providers for OleDb szakaszában található.
Kapcsolódó témakörök:ADO Connection Manager, ADO.NET Connection Manager konfigurálása
Séma
Jelölje ki az enumerálni kívánt sémát.
Korlátozások beállítása
Kapcsolódó témakörök: Sémakorlátozások párbeszédpanel; a ADO.NET kapcsolatkezelő konfigurálása; és az Integrációs szolgáltatások (SSIS) változóinak és a Változó hozzáadása párbeszédpanelnek a használata.
Enumerator = Változóelemek Felsoroló Enumára
A Foreach From Variable enumerator használatával számba kell adnia a megadott változóban lévő számozható objektumokat. Ha például a Foreach-ciklus tartalmaz egy lekérdezést futtató és az eredményt változóban tároló SQL-feladatot, a Foreach Változó enumerátorával számba vehet lekérdezési eredményeket.
Változó
Válasszon ki egy változót a listában, vagy kattintson az < gombra egy > új változó létrehozásához.
Kapcsolódó témakörök:Integration Services (SSIS) változók, változó hozzáadása
Enumerátor = Foreach NodeList Enumerátor
A Foreach Nodelist enumerator használatával számba veheti azon XML-csomópontok készletét, amelyek egy XPath-kifejezés XML-fájlra való alkalmazásából erednek. Ha például a Foreach-ciklus szkriptfeladatot is tartalmaz, a Foreach NodeList enumerator használatával olyan értéket adhat át, amely megfelel az XPath-kifejezés feltételeinek az XML-fájlból a Szkript feladatnak.
Az XML-fájlra vonatkozó XPath-kifejezés az OuterXPathString tulajdonságban tárolt külső XPath-művelet. Ha az XPath enumerálási típusa ElementCollection értékre van állítva, a Foreach NodeList enumerátor az InnerXPathString tulajdonságban tárolt belső XPath-kifejezést alkalmazhat egy elemgyűjteményre.
Ha többet szeretne megtudni az XML-dokumentumok és -adatok kezeléséről, olvassa el az MSDN-kódtár "XML alkalmazása a .NET-keretrendszerben" című témakört.
DokumentumForrástípus
Válassza ki az XML-dokumentum forrástípusát. Ez a tulajdonság az alábbi táblázatban felsorolt lehetőségeket tartalmazza:
| Érték | Leírás |
|---|---|
| Közvetlen bemenet | Állítsa be a forrást XML-dokumentumra. |
| Fájlkapcsolat | Jelölje ki az XML-dokumentumot tartalmazó fájlt. |
| Változó | Állítsa a forrást az XML-dokumentumot tartalmazó változóra. |
DokumentumForrás
Ha a DocumentSourceTypeközvetlen bemenetre van állítva, adja meg az XML-kódot, vagy kattintson a három pontra (...) az XML megadásához a Dokumentumforrás-szerkesztő párbeszédpanelen.
Ha a DocumentSourceTypefájlkapcsolatra van állítva, válasszon egy Fájlkapcsolat-kezelőt, vagy kattintson az < gombra > egy új kapcsolatkezelő létrehozásához.
Kapcsolódó témakörök:Fájlkapcsolatkezelő, Fájlkapcsolatkezelő szerkesztő
Ha a DocumentSourceTypeváltozóra van állítva, válasszon ki egy meglévő változót, vagy kattintson az < gombra egy > új változó létrehozásához.
Kapcsolódó témakörök:Integrációs szolgáltatások (SSIS) változói, változó hozzáadása.
FelsorolásTípus
Válasszon enumerálási típust a listából. Ez a tulajdonság az alábbi táblázatban felsorolt lehetőségeket tartalmazza:
| Érték | Leírás |
|---|---|
| Navigátor | Számozzon fel XPathNavigator használatával. |
| Csomópont | Az XPath-művelet által visszaadott csomópontok számbavétele. |
| NodeText | Az XPath-művelet által visszaadott szövegcsomópontok számbavétele. |
| ElementCollection | Számba veheti az XPath-művelet által visszaadott elemcsomópontokat. |
OuterXPathStringSourceType
Válassza ki az XPath-sztring forrástípusát. Ez a tulajdonság az alábbi táblázatban felsorolt lehetőségeket tartalmazza:
| Érték | Leírás |
|---|---|
| Közvetlen bemenet | Állítsa be a forrást XML-dokumentumra. |
| Fájlkapcsolat | Jelölje ki az XML-dokumentumot tartalmazó fájlt. |
| Változó | Állítsa a forrást az XML-dokumentumot tartalmazó változóra. |
OuterXPathString
Ha az OuterXPathStringSourceType "Közvetlen bemenetre" van állítva, adja meg az XPath sztringet.
Ha az OuterXPathStringSourceTypefájlkapcsolatra van állítva, válasszon egy Fájlkapcsolat-kezelőt, vagy kattintson az < gombra > egy új kapcsolatkezelő létrehozásához.
Kapcsolódó témakörök:Fájlkapcsolatkezelő, Fájlkapcsolatkezelő szerkesztő
Ha az OuterXPathStringSourceTypeváltozóra van állítva, válasszon ki egy meglévő változót, vagy kattintson az < gombra > egy új változó létrehozásához.
Kapcsolódó témakörök:Integrációs szolgáltatások (SSIS) változói, változó hozzáadása.
InnerElementType
Ha az EnumerationType-ot ElementCollection-re állítják, válassza ki a lista belső elemének típusát.
InnerXPathStringSourceType
Válassza ki a belső XPath-sztring forrástípusát. Ez a tulajdonság az alábbi táblázatban felsorolt lehetőségeket tartalmazza:
| Érték | Leírás |
|---|---|
| Közvetlen bemenet | Állítsa be a forrást XML-dokumentumra. |
| Fájlkapcsolat | Jelölje ki az XML-dokumentumot tartalmazó fájlt. |
| Változó | Állítsa a forrást az XML-dokumentumot tartalmazó változóra. |
InnerXPathString
Ha az InnerXPathStringSourceTypeKözvetlen bemenetre van állítva, adja meg az XPath sztringet.
Ha az InnerXPathStringSourceTypefájlkapcsolatra van állítva, válasszon egy Fájlkapcsolat-kezelőt, vagy kattintson az < gombra > egy új kapcsolatkezelő létrehozásához.
Kapcsolódó témakörök:Fájlkapcsolatkezelő, Fájlkapcsolatkezelő szerkesztő
Ha az InnerXPathStringSourceTypeváltozóra van állítva, válasszon ki egy meglévő változót, vagy kattintson az < gombra > egy új változó létrehozásához.
Kapcsolódó témakörök:Integrációs szolgáltatások (SSIS) változói, változó hozzáadása.
Enumerátor = Foreach SMO Enumerátor
Az SQL Server Management Object (SMO) objektumok számbavételéhez a Foreach SMO enumerátort használja. Ha például a Foreach loop tartalmaz egy SQL-feladatot, a Foreach SMO enumerátorával számba vehet táblákat az AdventureWorks-adatbázisban , és futtathat lekérdezéseket, amelyek megszámlálják az egyes táblák sorainak számát.
Kapcsolat
Válasszon ki egy meglévő ADO.NET kapcsolatkezelőt, vagy kattintson az < gombra egy > új kapcsolatkezelő létrehozásához.
Kapcsolódó témakörök: ADO.NET Kapcsolatkezelő, ADO.NET Kapcsolatkezelő konfigurálása
Felsorol
Adja meg az enumerálni kívánt SMO-objektumot.
Tallózás
Válassza az SMO felsorolást.
Kapcsolódó témakörök: Az SMO számbavételi párbeszédpaneljének kiválasztása
Enumerator = Minden HDFS fájl felsorolása
A Foreach HDFS file Enumerator lehetővé teszi, hogy egy SSIS-csomag számba adja a HDFS-fájlokat a megadott HDFS-helyen. Az egyes HDFS-fájlok neve tárolható egy változóban, és a Foreach-huroktárolón belüli feladatokban használható.
Hadoop Connection Manager
Adjon meg egy meglévő Hadoop Connection Managert, vagy hozzon létre egy újat, amely a HDFS-fájlok helyére mutat. További információ: Hadoop Connection Manager.
Könyvtár elérési útja
Adja meg annak a HDFS-könyvtárnak a nevét, amely tartalmazza a számba venni kívánt HDFS-fájlokat.
Fájlnévszűrő
Adjon meg egy névszűrőt egy bizonyos névmintával rendelkező fájlok kijelöléséhez. A MySheet*.xls* például olyan fájlokat tartalmaz, mint a MySheet001.xls és a MySheetABC.xlsx.
Fájlnév lekérése
Adja meg az SSIS által lekért fájlnévtípust.
A teljes név a könyvtár elérési útját és a fájlnevet tartalmazó teljes nevet jelenti.
A név csak azt jelenti, hogy a rendszer az elérési út nélkül kéri le a fájlnevet.
Átjárási almappák
Adja meg, hogy rekurzívan kell-e átcsúszni az almappákon.
A szerkesztő Változóleképezések lapján válasszon vagy hozzon létre egy változót a számba adott HDFS-fájl nevének tárolásához.
Számláló = Foreach Azure Blob Enumerator
Az Azure Blob Enumerator lehetővé teszi, hogy egy SSIS-csomag számba adja a blobfájlokat a megadott blobhelyen. Az enumerált blobfájl nevét egy változóban tárolhatja, és a Foreach huroktárolóban lévő feladatokban használhatja.
Az Azure Blob Enumerator az SQL Server Integration Services (SSIS) Azure for SQL Server 2016 (13.x) szolgáltatáscsomagjának összetevője. Töltse le a funkciócsomagot.
Azure Storage-kapcsolatkezelő
Válasszon ki egy meglévő Azure Storage Connection Managert, vagy hozzon létre egy újat, amely egy Azure Storage-fiókra hivatkozik.
Kapcsolódó témakörök: Azure Storage Connection Manager.
Blobtároló neve
Adja meg annak a blobtárolónak a nevét, amely tartalmazza a számba venni kívánt blobfájlokat.
Blob könyvtár
Adja meg a számba venni kívánt blobfájlokat tartalmazó blobkönyvtárat. A blobkönyvtár egy virtuális hierarchikus struktúra.
Keresés rekurzív módon
Adja meg, hogy rekurzívan keressen-e az alkönyvtárakban.
Blobnévszűrő
Adjon meg egy névszűrőt egy bizonyos névmintával rendelkező fájlok számbavételéhez. Például olyan fájlokat tartalmaz, MySheet*.xls\* mint a MySheet001.xls és a MySheetABC.xlsx.
Blobidőtartomány a szűréstől a szűrésig
Adjon meg egy időtartomány-szűrőt. A TimeRangeFrom és a TimeRangeTo után módosított fájlok felsorolása.
Enumerator = Minden ADLS fájl-felsoroló
Az ADLS-fájl enumerátora lehetővé teszi, hogy egy SSIS-csomag számbavételt adjon a fájloknak az Azure Data Lake Store-ban. Az enumerált fájl teljes elérési útját (perjeles /előtaggal ) egy változóban tárolhatja, és a fájl elérési útját a Foreach huroktárolóban lévő feladatokban használhatja.
AzureDataLakeConnection
Egy Azure Data Lake-kapcsolatkezelőt határoz meg, vagy létrehoz egy újat, amely egy ADLS-fiókra hivatkozik.
AzureDataLakeDirectory
Megadja a számba venni kívánt fájlokat tartalmazó ADLS-könyvtárat.
FileNamePattern
Fájlnévszűrőt ad meg. A rendszer csak azokat a fájlokat sorolja fel, amelyek neve megegyezik a megadott mintával. A helyettesítő karakterek * és ? támogatottak.
Keresésrekurzív módon
Megadja, hogy rekurzívan kell-e keresni a megadott könyvtárban.
Enumerator = Foreach Data Lake Storage Gen2 File Enumerator
A Foreach Data Lake Storage Gen2 file Enumerator lehetővé teszi egy SSIS-csomag számára a fájlok számbavételét az Azure Data Lake Storage Gen2-ben.
AzureStorageConnection
Egy meglévő Azure Storage Connection Managert ad meg, vagy létrehoz egy újat, amely egy Data Lake Storage Gen2 szolgáltatásra hivatkozik.
Mappaútvonal
Megadja a mappa elérési útját a fájlok számbavételéhez.
Keresésrekurzív módon
Megadja, hogy rekurzívan kell-e keresni a megadott mappában.
Megjegyzések a szolgáltatási főszereplő engedélykonfigurációjáról
A Data Lake Storage Gen2-engedélyt az RBAC és az ACL határozza meg. Ügyeljen arra, hogy az ACL-ek a szolgáltatásnév objektumazonosítójával (OID) vannak konfigurálva az alkalmazásregisztrációhoz. Lásd : Hogyan állíthatom be helyesen az ACL-eket egy szolgáltatásnévhez? Ez eltér az RBAC-konfigurációhoz használt alkalmazás-(ügyfél-) azonosítótól. Ha egy biztonsági tag egy beépített szerepkörön vagy egyéni szerepkörön keresztül kap RBAC-adatengedélyeket, ezeket az engedélyeket először egy kérés engedélyezésekor értékeli ki a rendszer. Ha a kért műveletet a biztonsági tag RBAC-hozzárendelései engedélyezik, a rendszer azonnal feloldja az engedélyezést, és nem végez további ACL-ellenőrzéseket. Egy másik lehetőségként, ha a biztonsági objektum nem rendelkezik RBAC-hozzárendeléssel, vagy a kérés művelete nem felel meg a hozzárendelt engedélynek, akkor ACL-ellenőrzéseket végeznek annak megállapítására, hogy a biztonsági objektum jogosult-e a kért művelet végrehajtására. Ahhoz, hogy az enumerátor működjön, adjon legalább végrehajtási engedélyt a gyökér fájlrendszerből kiindulva, valamint olvasási engedélyt a célmappához. Másik megoldásként adjon meg legalább a Storage Blob Data Reader szerepkört RBAC-kal. A részletekért tekintse meg ezt a cikket.
Változóleképezések lap – Foreach Loop Editor
A Foreach Hurokszerkesztő párbeszédpanel Változók hozzárendelése lapján a változókat a gyűjtemény értékéhez rendelheti hozzá. A változó értéke frissül a ciklus egyes iterációinak gyűjtési értékeivel.
A Microsoft SQL Server Integration Services egyszerű ETL-csomagokkal kapcsolatos oktatóanyaga tartalmaz egy leckét, amely bemutatja a Foreach-ciklus hozzáadását és konfigurálását.
Beállítások
Változó
Válasszon ki egy meglévő változót, vagy kattintson az Új változó gombra egy új változó létrehozásához.
Megjegyzés:
Miután megfeleltet egy változót, a rendszer automatikusan hozzáad egy új sort a változók listájához.
Kapcsolódó témakörök: Integrációs szolgáltatások (SSIS) változói, változó hozzáadása
Index
Ha a Foreach Item enumerátort használja, adja meg a gyűjteményérték oszlopának indexét a változóra való leképezéshez. Más enumerátortípusok esetében az index írásvédett.
Megjegyzés:
Az index 0-alapú.
Törlés
Jelöljön ki egy változót, majd kattintson a Törlés gombra.
Sémakorlátozások párbeszédpanel (ADO.NET)
A Sémakorlátozások párbeszédpanelen beállíthatja, hogy a sémakorlátozások a Foreach ADO.NET Sémasorkészlet enumerátorra vonatkozzanak.
Beállítások
Korlátozások
Válassza ki a sémára alkalmazandó korlátozásokat.
Változó
A korlátozások meghatározásához használjon változót. Válasszon ki egy változót a listában, vagy kattintson az Új változó gombra egy új változó létrehozásához.
Kapcsolódó témakörök:Integration Services (SSIS) változók , változó hozzáadása
Szöveg
Adja meg a korlátozásokat definiáló szöveget.
Minden elem oszlopai párbeszédpanel
Az Egyes elemek oszlopai párbeszédpanelen definiálhatja a Foreach Elem számbavétele által enumerált elemek oszlopait.
Beállítások
oszlop
Felsorolja az oszlopokat.
Adattípus
Válassza ki az adattípust.
Adj hozzá
Adjon hozzá egy új oszlopot.
távolítsa el
Jelöljön ki egy oszlopot, majd kattintson az Eltávolítás gombra.
Az SMO-számbavétel kiválasztása párbeszédpanel
Az SMO-számbavétel kiválasztása párbeszédpanel használatával adja meg az SQL Server megadott példányán található SQL Server Management Objects (SMO) objektumot a számbavételhez, és válassza ki az enumerálás típusát.
Beállítások
Felsorol
Bontsa ki a kiszolgálót, és válassza ki az SMO-objektumot.
objektumok
Használja az Objektumok számbavételi típusát.
Előre kitölt
Használja az Előzetes feltöltés lehetőséget az Objektumok számbavételi típusával.
Nevek
Használja a Nevek számbavételi típust.
Urnák
Használja az URN-ok felsorolási típusát.
Helyek
Használja a Helyek számbavételi típust. Ez a beállítás csak fájlok esetén érhető el.
Tulajdonságkifejezések használata Foreach Loop-tárolókkal
A csomagok több végrehajtható fájl egyidejű futtatására konfigurálhatók. Ezt a konfigurációt óvatosan kell használni, ha a csomag tartalmaz egy Foreach Loop-tárolót, amely tulajdonságkifejezéseket implementál.
Gyakran hasznos egy tulajdonságkifejezés implementálása a Foreach Loop enumerátorai által használt kapcsolatkezelők ConnectionString tulajdonságának értékének beállításához. A ConnectionString tulajdonságkifejezését egy változó állítja be, amely megfelel az enumerátor gyűjteményértékének, és a ciklus minden iterációjában frissül.
A ciklusban lévő tevékenységek párhuzamos végrehajtásának nem meghatározó időzítése negatív következményeinek elkerülése érdekében a csomagot úgy kell konfigurálni, hogy egyszerre csak egy végrehajthatót futtasson. Ha például egy csomag egyszerre több feladatot is futtathat, egy Foreach Loop-tároló, amely számba veszi a mappában lévő fájlokat, lekéri a fájlneveket, majd egy SQL-feladat végrehajtásával beszúrja a fájlneveket egy táblába, írási ütközések léphetnek fel, amikor az SQL-feladat végrehajtása feladat két példánya egyszerre próbál meg írni. További információ: Tulajdonságkifejezések használata a csomagokban.