Foreach 루프 컨테이너Foreach Loop Container

Foreach 루프 컨테이너는 패키지의 반복 제어 흐름을 정의합니다.The Foreach Loop container defines a repeating control flow in a package. 루프 구현은 프로그래밍 언어에서의 Foreach 루프 구조와 유사합니다.The loop implementation is similar to Foreach looping structure in programming languages. 패키지에서 Foreach 열거자를 사용하면 루프를 사용할 수 있습니다.In a package, looping is enabled by using a Foreach enumerator. Foreach 루프 컨테이너는 지정한 열거자의 각 멤버에 대해 제어 흐름을 반복합니다.The Foreach Loop container repeats the control flow for each member of a specified enumerator.

SQL ServerSQL Server Integration ServicesIntegration Services 는 다음 열거자 유형을 제공합니다. Integration ServicesIntegration Services provides the following enumerator types:

  • Foreach ADO 열거자는 테이블의 행을 열거합니다.Foreach ADO enumerator to enumerate rows in tables. 예를 들어 ADO 레코드 집합의 행을 가져올 수 있습니다.For example, you can get the rows in an ADO recordset.

    레코드 집합 대상은 Object 데이터 형식의 패키지 변수에 저장된 레코드 집합의 메모리에 데이터를 저장합니다.The Recordset destination saves data in memory in a recordset that is stored in a package variable of Object data type. 일반적으로 Foreach 루프 컨테이너를 Foreach ADO 열거자와 함께 사용하여 레코드 집합의 행을 한 번에 하나씩 처리합니다.You typically use a Foreach Loop container with the Foreach ADO enumerator to process one row of the recordset at a time. Foreach ADO 열거자에 대해 지정된 변수는 개체 데이터 형식이어야 합니다.The variable specified for the Foreach ADO enumerator must be of Object data type. 레코드 집합 대상에 대 한 자세한 내용은 참조 레코드 집합 대상을 사용 하 여합니다.For more information about the Recordset destination, see Use a Recordset Destination.

  • Foreach ADO.NET 스키마 행 집합 열거자는 데이터 원본에 대한 스키마 정보를 열거합니다.Foreach ADO.NET Schema Rowset enumerator to enumerate the schema information about a data source. 예를 들어 AdventureWorks2012AdventureWorks2012 SQL ServerSQL Server 데이터베이스의 테이블 목록을 열거하고 가져올 수 있습니다.For example, you can enumerate and get a list of the tables in the AdventureWorks2012AdventureWorks2012 SQL ServerSQL Server database.

  • Foreach File 열거자는 폴더의 파일을 열거합니다.Foreach File enumerator to enumerate files in a folder. 열거자는 하위 폴더를 포함할 수 있습니다.The enumerator can traverse subfolders. 예를 들어 Windows 폴더 및 하위 폴더에서 파일 이름 확장명이 *.log인 모든 파일을 읽을 수 있습니다.For example, you can read all the files that have the *.log file name extension in the Windows folder and its subfolders.

  • Foreach From Variable 열거자는 지정한 변수에 포함된 열거 가능 개체를 열거합니다.Foreach From Variable enumerator to enumerate the enumerable object that a specified variable contains. 열거 가능 개체는 배열, ADO.NET DataTable, Integration ServicesIntegration Services 열거자 등이 될 수 있습니다.The enumerable object can be an array, an ADO.NET DataTable, an Integration ServicesIntegration Services enumerator, and so on. 예를 들어 서버 이름을 포함하는 배열 값을 열거할 수 있습니다.For example, you can enumerate the values of an array that contains the name of servers.

  • Foreach Item 열거자는 컬렉션 항목을 열거합니다.Foreach Item enumerator to enumerate items that are collections. 예를 들어 프로세스 실행 태스크가 사용하는 실행 파일 이름 및 작업 디렉터리를 열거할 수 있습니다.For example, you can enumerate the names of executables and working directories that an Execute Process task uses.

  • Foreach Nodelist 열거자는 XPath(XML Path Language) 식의 결과 집합을 열거합니다.Foreach Nodelist enumerator to enumerate the result set of an XML Path Language (XPath) expression. 예를 들어 식 /authors/author[@period='classical']은 classical period의 모든 author 목록을 열거하고 가져옵니다.For example, this expression enumerates and gets a list of all the authors in the classical period: /authors/author[@period='classical'].

  • Foreach SMO 열거자는 SMO( SQL ServerSQL Server Management Object) 개체를 열거합니다.Foreach SMO enumerator to enumerate SQL ServerSQL Server Management Objects (SMO) objects. 예를 들어 SQL ServerSQL Server 데이터베이스의 뷰 목록을 열거하고 가져올 수 있습니다.For example, you can enumerate and get a list of the views in a SQL ServerSQL Server database.

  • 지정된 HDFS 위치에 있는 HDFS 파일을 열거하는 Foreach HDFS 파일 열거자입니다.Foreach HDFS File Enumerator to enumerate HDFS files in the specified HDFS location.

  • Azure 저장소의 blob 컨테이너에 blob를 열거하는 Foreach Azure Blob 열거자입니다.Foreach Azure Blob enumerator to enumerate blobs in a blob container in Azure Storage.

  • ADLS Foreach File 열거자 Azure 데이터 레이크 저장소에서 디렉터리에 파일을 열거 합니다.Foreach ADLS File enumerator to enumerate files in a directory in Azure Data Lake Store.

    다음 다이어그램에서는 파일 시스템 태스크가 있는 Foreach 루프 컨테이너를 보여 줍니다.The following diagram shows a Foreach Loop container that has a File System task. Foreach 루프는 Foreach File 열거자를 사용하며 파일 시스템 태스크는 파일을 복사하도록 구성되어 있습니다.The Foreach loop uses the Foreach File enumerator, and the File System task is configured to copy a file. 열거자가 지정한 폴더에 4개 파일이 들어 있으면 루프가 4번 반복되어 4개 파일이 복사됩니다.If the folder that the enumerator specifies contains four files, the loop repeats four times and copies four files.

    폴더를 열거 하는 Foreach 루프 컨테이너A Foreach Loop container that enumerates a folder

    변수 및 속성 식의 조합을 사용하여 패키지 개체의 속성을 열거자 컬렉션 값으로 업데이트할 수 있습니다.You can use a combination of variables and property expressions to update the property of the package object with the enumerator collection value. 먼저 컬렉션 값을 사용자 정의 변수에 매핑한 다음 이 변수를 사용하는 속성 식을 속성에 구현합니다.First you map the collection value to a user-defined variable, and then you implement a property expression on the property that uses the variable. 예를 들어 Foreach File 열거자의 컬렉션 값을 MyFile 이라는 변수에 매핑한 다음 메일 보내기 태스크의 Subject 속성에 대한 속성 식에서 이 변수를 사용합니다.For example, the collection value of the Foreach File enumerator is mapped to a variable called MyFile and the variable is then used in the property expression for the Subject property of a Send Mail task. 패키지를 실행하면 루프가 반복될 때마다 Subject 속성이 파일 이름으로 업데이트됩니다.When the package runs, the Subject property is updated with the name of a file each time that the loop repeats. 자세한 내용은 패키지에서 속성 식 사용을 참조하세요.For more information, see Use Property Expressions in Packages.

    열거자 컬렉션 값에 매핑된 변수를 식과 스크립트에 사용할 수도 있습니다.Variables that are mapped to the enumerator collection value can also be used in expressions and scripts.

    Foreach 루프 컨테이너는 여러 개의 태스크와 컨테이너를 포함할 수 있지만 하나의 열거자 유형만 사용할 수 있습니다.A Foreach Loop container can include multiple tasks and containers, but it can use only one type of enumerator. Foreach 루프 컨테이너에 여러 개의 태스크가 포함되어 있으면 열거자 컬렉션 값을 각 태스크의 여러 속성에 매핑할 수 있습니다.If the Foreach Loop container includes multiple tasks, you can map the enumerator collection value to multiple properties of each task.

    Foreach 루프 컨테이너에 트랜잭션 특성을 설정하여 패키지 제어 흐름의 하위 집합에 대한 트랜잭션을 정의할 수 있습니다.You can set a transaction attribute on the Foreach Loop container to define a transaction for a subset of the package control flow. 이렇게 하면 패키지 수준이 아닌 Foreach 루프 수준에서 트랜잭션을 관리할 수 있습니다.In this way, you can manage transactions at the level of the Foreach Loop instead of the package level. 예를 들어 Foreach 루프 컨테이너가 별모양 스키마의 차원 및 팩트 테이블을 업데이트하는 제어 흐름을 반복하는 경우 모든 팩트 테이블이 성공적으로 업데이트되지 않으면 어떤 테이블도 업데이트하지 않도록 트랜잭션을 구성할 수 있습니다.For example, if a Foreach Loop container repeats a control flow that updates dimensions and fact tables in a star schema, you can configure a transaction to ensure that all fact tables are updated successfully, or none are updated. 자세한 내용은 Integration Services 트랜잭션을 참조하세요.For more information, see Integration Services Transactions.

열거자 유형Enumerator Types

열거자는 구성 가능하며 열거자에 따라 다른 정보를 제공해야 합니다.Enumerators are configurable, and you must provide different information, depending on the enumerator.

다음 표에서는 각 열거자 유형에 필요한 정보를 요약해서 보여 줍니다.The following table summarizes the information each enumerator type requires.

EnumeratorEnumerator 구성 요구 사항Configuration requirements
Foreach ADOForeach ADO ADO 개체 원본 변수와 열거자 모드 지정Specify the ADO object source variable and the enumerator mode. 변수는 개체 데이터 형식이어야 합니다.The variable must be of Object data type.
Foreach ADO.NET 스키마 행 집합Foreach ADO.NET Schema Rowset 데이터베이스에 대한 연결과 열거할 스키마 지정Specify the connection to a database and the schema to enumerate.
Foreach FileForeach File 열거할 폴더 및 파일, 검색된 파일의 파일 이름 형식 및 하위 폴더 포함 여부 지정Specify a folder and the files to enumerate, the format of the file name of the retrieved files, and whether to traverse subfolders.
Foreach From VariableForeach From Variable 열거할 개체가 포함된 변수 지정Specify the variable that contains the objects to enumerate.
Foreach ItemForeach Item 열과 열 데이터 형식을 포함하여 Foreach Item 컬렉션의 항목 정의Define the items in the Foreach Item collection, including columns and column data types.
Foreach NodelistForeach Nodelist XML 문서의 원본 지정 및 XPath 작업 구성Specify the source of the XML document and configure the XPath operation.
Foreach SMOForeach SMO 데이터베이스에 대한 연결과 열거할 SMO 개체 지정Specify the connection to a database and the SMO objects to enumerate.
Foreach HDFS File 열거자Foreach HDFS File Enumerator 열거할 폴더 및 파일, 검색된 파일의 파일 이름 형식 및 하위 폴더 포함 여부 지정Specify a folder and the files to enumerate, the format of the file name of the retrieved files, and whether to traverse subfolders.
Foreach Azure BlobForeach Azure Blob 컨테이너 blob을 열거할 수 있는 Azure blob 컨테이너를 지정합니다.Specify the Azure blob container that containers blobs to be enumerated.
Foreach ADLS 파일Foreach ADLS File 파일을 열거할 수 있는 Azure 데이터 레이크 저장소 디렉터리를 지정 합니다.Specify the Azure Data Lake Store directory that contains the files to be enumerated.

Foreach 루프 컨테이너를 사용 하 여 제어 흐름에 열거 추가Add enumeration to a control flow with a Foreach Loop container

Integration ServicesIntegration ServicesForeach 루프 컨테이너를 간단 하 게 패키지의 제어 흐름에 파일 및 개체를 열거 하는 루핑 구성을 포함 하는 제어 흐름 요소를 포함 합니다. includes the Foreach Loop container, a control flow element that makes it simple to include a looping construct that enumerates files and objects in the control flow of a package. 자세한 내용은 Foreach 루프 컨테이너을 참조하십시오.For more information, see Foreach Loop Container.

Foreach 루프 컨테이너는 특정 기능을 제공하는 것이 아니라 반복 가능한 제어 흐름을 작성하고, 열거자 유형을 지정하고, 열거자를 구성할 수 있는 구조만 제공합니다.The Foreach Loop container provides no functionality; it provides only the structure in which you build the repeatable control flow, specify an enumerator type, and configure the enumerator. 컨테이너 기능을 제공하려면 적어도 하나 이상의 태스크를 Foreach 루프 컨테이너에 포함시켜야 합니다.To provide container functionality, you must include at least one task in the Foreach Loop container. 자세한 내용은 Integration Services Tasks를 참조하세요.For more information, see Integration Services Tasks.

Foreach 루프 컨테이너에는 여러 태스크가 포함된 제어 흐름과 다른 컨테이너가 포함될 수 있습니다.The Foreach Loop container can include a control flow with multiple tasks and other containers. Foreach 루프 컨테이너에 태스크 및 컨테이너를 추가하는 방법은 패키지에 추가하는 방법과 비슷하며, 태스크 및 컨테이너를 패키지가 아닌 Foreach 루프 컨테이너로 끌어 온다는 점만 다릅니다.Adding tasks and containers to a Foreach Loop container is similar to adding them to a package, except you drag the tasks and containers to the Foreach Loop container instead of to the package. Foreach 루프 컨테이너에 두 개 이상의 태스크 또는 컨테이너가 포함된 경우 패키지에서와 같은 방식으로 선행 제약 조건을 사용하여 이를 연결할 수 있습니다.If the Foreach Loop container includes more than one task or container, you can connect them using precedence constraints just as you do in a package. 자세한 내용은 Precedence Constraints을(를) 참조하세요.For more information, see Precedence Constraints.

추가 하 고 Foreach 루프 컨테이너 구성Add and configure a Foreach Loop container

  1. 패키지에 Foreach 루프 컨테이너를 추가합니다.Add the Foreach Loop container to the package. 자세한 내용은 제어 흐름에서 태스크 또는 컨테이너 추가 또는 삭제를 참조하세요.For more information, see Add or Delete a Task or a Container in a Control Flow.

  2. Foreach 루프 컨테이너에 태스크 및 컨테이너를 추가합니다.Add tasks and containers to the Foreach Loop container. 자세한 내용은 제어 흐름에서 태스크 또는 컨테이너 추가 또는 삭제를 참조하세요.For more information, see Add or Delete a Task or a Container in a Control Flow.

  3. 선행 제약 조건을 사용하여 Foreach 루프 컨테이너에 있는 태스크 및 컨테이너를 연결합니다.Connect tasks and containers in the Foreach Loop container using precedence constraints. 자세한 내용은 기본 선행 제약 조건을 사용하여 태스크 및 컨테이너 연결을 참조하세요.For more information, see Connect Tasks and Containers by Using a Default Precedence Constraint.

  4. Foreach 루프 컨테이너를 구성합니다.Configure the Foreach Loop container. 자세한 내용은 Foreach 루프 컨테이너 구성을 참조하십시오.For more information, see Configure a Foreach Loop Container.

Foreach 루프 컨테이너 구성Configure a Foreach Loop Container

이 절차에서는 열거자 및 컨테이너 수준의 속성 식을 비롯한 Foreach 루프 컨테이너를 구성하는 방법에 대해 설명합니다.This procedure describes how to configure a Foreach Loop container, including property expressions at the enumerator and container levels.

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 원하는 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. 제어 흐름 탭을 클릭하고 Foreach 루프를 두 번 클릭합니다.Click the Control Flow tab and double-click the Foreach Loop.

  3. Foreach 루프 편집기 대화 상자에서 일반 을 클릭하고 선택적으로 Foreach 루프의 이름과 설명을 수정합니다.In the Foreach Loop Editor dialog box, click General and, optionally, modify the name and description of the Foreach Loop.

  4. 컬렉션 을 클릭하고 Enumerator 목록에서 열거자 유형을 선택합니다.Click Collection and select an enumerator type from the Enumerator list.

  5. 열거자를 지정하고 열거자 옵션을 다음과 같이 설정합니다.Specify an enumerator and set enumerator options as follows:

    • Foreach File 열거자를 사용 하려면 파일을 열거, 파일 이름 및 형식에 대 한 필터를 지정 하 고, 정규화 된 파일 이름을 반환할지 여부를 지정 합니다. 포함 된 폴더를 제공 합니다.To use the Foreach File enumerator, provide the folder that contains the files to enumerate, specify a filter for the file name and type, and specify whether the fully qualified file name should be returned. 또한 하위 폴더의 파일에 대해서도 동일 작업을 반복할지 여부를 나타냅니다.Also, indicate whether to recurse through subfolders for more files.

    • Foreach Item 열거자를 사용하려면 을 클릭하고 For Each Item 열 대화 상자에서 추가 를 클릭하여 열을 추가합니다.To use the Foreach Item enumerator, click Columns, and, in the For Each Item Columns dialog box, click Add to add columns. 데이터 형식 목록에서 각 열에 대한 데이터 형식을 선택하고 확인을 클릭합니다.Select a data type in the Data Type list for each column, and click OK.

      열에 값을 입력하거나 목록에서 값을 선택합니다.Type values in the columns or select values from lists.

      참고

      새 행을 추가하려면 입력한 셀 바깥의 아무 곳이나 클릭합니다.To add a new row, click anywhere outside the cell in which you typed.

      참고

      값이 열 데이터 형식과 호환되지 않으면 텍스트가 강조 표시됩니다.If a value is not compatible with the column data type, the text is highlighted.

    • Foreach ADO 열거자를 사용하려면 기존 변수를 선택하거나 ADO 개체 원본 변수 목록에서 새 변수 를 클릭하여 열거할 ADO 개체의 이름이 들어 있는 변수를 지정하고 열거 모드 옵션을 선택합니다.To use the Foreach ADO enumerator, select an existing variable or click New variable in the ADO object source variable list to specify the variable that contains the name of the ADO object to enumerate, and select an enumeration mode option.

      새 변수를 만드는 경우에는 변수 추가 대화 상자에서 변수 속성을 설정합니다.If creating a new variable, set the variable properties in the Add Variable dialog box.

    • Foreach ADO.NET 스키마 행 집합 열거자를 사용하려면 기존 ADO.NET 연결을 선택하거나 연결 목록에서 새 연결 을 클릭한 후 스키마를 선택합니다.To use the Foreach ADO.NET Schema Rowset enumerator, select an existing ADO.NET connection or click New connection in the Connection list, and then select a schema.

      필요에 따라 제한 설정 을 클릭하여 스키마 제한을 선택하고, 제한 값이 있는 변수를 선택하거나 제한 값을 입력한 다음 확인을 클릭합니다.Optionally, click Set Restrictions and select schema restrictions, select the variable that contains the restriction value or type the restriction value, and click OK.

    • Foreach From Variable 열거자를 사용하려면 변수 목록에서 변수를 선택합니다.To use the Foreach From Variable enumerator, select a variable in the Variable list.

    • Foreach NodeList 열거자를 사용하려면 DocumentSourceType을 클릭하고 목록에서 원본 유형을 선택한 다음 DocumentSource를 클릭합니다.To use the Foreach NodeList enumerator, click DocumentSourceType and select the source type from the list, and then click DocumentSource. DocumentSourceType에 대해 선택한 값에 따라 목록에서 변수 또는 파일 연결을 선택하거나, 새 변수 또는 파일 연결을 만들거나, 문서 원본 편집기에서 XML 원본을 입력합니다.Depending on the value selected for DocumentSourceType, select a variable or a file connection from the list, create a new variable or file connection, or type the XML source in the Document Source Editor.

      그런 다음 EnumerationType을 클릭하고 목록에서 열거형 형식을 선택합니다.Next, click EnumerationType and select an enumeration type from the list. EnumerationType이 Navigator, Node 또는 NodeText이면 OuterXPathStringSourceType을 클릭하고 원본 유형을 선택한 다음 OuterXPathString을 클릭합니다.If EnumerationType is Navigator, Node, or NodeText, click OuterXPathStringSourceType and select the source type, and then click OuterXPathString. OuterXPathStringSourceType에 대해 설정된 값에 따라 목록에서 변수 또는 파일 연결을 선택하거나, 새 변수 또는 파일 연결을 만들거나, 외부 XPath(XML Path Language) 식에 대한 문자열을 입력합니다.Depending on the value set for OuterXPathStringSourceType, select a variable or a file connection from the list, create a new variable or file connection, or type the string for the outer XML Path Language (XPath) expression.

      EnumerationType 이면 ElementCollection, 위에서 설명한 것 처럼 OuterXPathStringSourceType 및 OuterXPathString를 설정 합니다.If EnumerationType is ElementCollection, set OuterXPathStringSourceType and OuterXPathString as described above. 그런 다음 InnerElementType을 클릭하고 내부 요소에 대한 열거형 형식을 선택한 다음 InnerXPathStringSourceType을 클릭합니다.Then, click InnerElementType and select an enumeration type for the inner elements, and then click InnerXPathStringSourceType. InnerXPathStringSourceType에 대해 설정된 값에 따라 변수 또는 파일 연결을 선택하거나, 새 변수 또는 파일 연결을 만들거나, 내부 XPath 식에 대한 문자열을 입력합니다.Depending on the value set for InnerXPathStringSourceType, select a variable or a file connection, create a new variable or file connection, or type the string for the inner XPath expression.

    • Foreach SMO 열거자를 사용하려면 기존 ADO.NET 연결을 선택하거나 연결 목록에서 새 연결 을 클릭한 후 사용할 문자열을 입력하거나 찾아보기를 클릭합니다.To use the Foreach SMO enumerator, select an existing ADO.NET connection or click New connection in the Connection list, and then either type the string to use or click Browse. 찾아보기를 클릭한 경우 SMO 열거 선택 대화 상자에서 열거할 개체 유형과 열거 유형을 선택하고 확인을 클릭합니다.If you click Browse, in the Select SMO Enumeration dialog box, select the object type to enumerate and the enumeration type, and click OK.

  6. 선택적으로 컬렉션 페이지의 입력란에서 찾아보기 단추 (...) 를 클릭하여 속성 값을 업데이트하는 식을 만듭니다.Optionally, click the browse button (…) in the Expressions text box on the Collection page to create expressions that update property values. 자세한 내용은 속성 식 추가 또는 변경을 참조하세요.For more information, see Add or Change a Property Expression.

    참고

    에 나열 된 속성의 속성 목록 열거자에 따라 달라 집니다.The properties listed in the Property list vary by enumerator.

  7. 필요에 따라 변수 매핑 컬렉션 값에 개체 속성을 매핑한 후 다음 작업을 수행 하려면:Optionally, click Variable Mappings to map object properties to the collection value, and then do the following things:

    1. 변수 목록에서 변수를 선택 하거나 클릭 <새 변수 > 새 변수를 만듭니다.In the Variables list, select a variable or click <New Variable> to create a new variable.

    2. 새 변수를 추가하는 경우에는 변수 추가 대화 상자에서 변수 속성을 설정하고 확인을 클릭합니다.If you add a new variable, set the variable properties in the Add Variable dialog box and click OK.

    3. For Each Item 열거자를 사용하는 경우 인덱스 목록에서 인덱스 값을 업데이트할 수 있습니다.If you use the For Each Item enumerator, you can update the index value in the Index list.

      참고

      인덱스 값은 항목에서 변수로 매핑될 열을 나타냅니다.The index value indicates which column in the item to map to the variable. For Each Item 열거자에서만 0이 아닌 인덱스 값을 사용할 수 있습니다.Only the For Each Item enumerator can use an index value other than 0.

  8. 선택적으로 페이지에서 Expressions 를 클릭하고 Foreach 루프 컨테이너의 속성에 대한 속성 식을 만듭니다.Optionally, click Expressions and, on the Expressions page, create property expressions for the properties of the Foreach Loop container. 자세한 내용은 속성 식 추가 또는 변경을 참조하세요.For more information, see Add or Change a Property Expression.

  9. 확인을 클릭합니다.Click OK.

일반 페이지-Foreach 루프 편집기General Page - Foreach Loop Editor

Foreach 루프 편집기 대화 상자의 일반 페이지에서 지정한 열거자를 사용하여 컬렉션의 각 멤버에 대해 워크플로를 반복하는 Foreach 루프 컨테이너의 이름을 지정하고 설명할 수 있습니다.Use the General page of the Foreach Loop Editor dialog box to name and describe a Foreach Loop container that uses a specified enumerator to repeat a workflow for each member in a collection.

Foreach 루프 컨테이너와 이를 구성하는 방법은 Foreach 루프 컨테이너Foreach 루프 컨테이너 구성을 참조하세요.To learn about the Foreach Loop container and how to configure it, see Foreach Loop Container and Configure a Foreach Loop Container.

옵션Options

이름Name
Foreach 루프 컨테이너에 사용할 고유 이름을 제공합니다.Provide a unique name for the Foreach Loop container. 이 이름은 태스크 아이콘과 로그에서 레이블로 사용됩니다.This name is used as the label in the task icon and in the logs.

참고

개체 이름은 패키지 내에서 고유해야 합니다.Object names must be unique within a package.

DescriptionDescription
Foreach 루프 컨테이너에 대한 설명을 입력합니다.Type a description of the Foreach Loop container.

컬렉션 페이지-Foreach 루프 편집기Collection Page - Foreach Loop Editor

사용 하 여는 컬렉션 의 페이지는 Foreach 루프 편집기 열거자 유형을 지정 하 고 열거자를 구성 대화 상자.Use the Collection page of the Foreach Loop Editor dialog box to specify the enumerator type and configure the enumerator.

Foreach 루프 컨테이너와 이를 구성하는 방법은 Foreach 루프 컨테이너Foreach 루프 컨테이너 구성을 참조하세요.To learn about the Foreach Loop container and how to configure it, see Foreach Loop Container and Configure a Foreach Loop Container.

정적 옵션Static Options

EnumeratorEnumerator
목록에서 열거자 유형을 선택합니다.Select the enumerator type from the list. 이 속성의 옵션은 다음 표에 나열되어 있습니다.This property has the options listed in the following table:

ValueValue DescriptionDescription
Foreach File 열거자Foreach File Enumerator 파일을 열거합니다.Enumerate files. 이 값을 선택하면 아래의 Foreach File 열거자섹션에 설명된 동적 옵션이 표시됩니다.Selecting this value displays the dynamic options in the section, Foreach File Enumerator.
Foreach Item 열거자Foreach Item Enumerator 항목의 값을 열거합니다.Enumerate values in an item. 이 값을 선택하면 아래의 Foreach Item 열거자섹션에 설명된 동적 옵션이 표시됩니다.Selecting this value displays the dynamic options in the section, Foreach Item Enumerator.
Foreach ADO 열거자Foreach ADO Enumerator 테이블 또는 테이블의 행을 열거합니다.Enumerate tables or rows in tables. 이 값을 선택하면 아래의 Foreach ADO 열거자섹션에 설명된 동적 옵션이 표시됩니다.Selecting this value displays the dynamic options in the section, Foreach ADO Enumerator.
Foreach ADO.NET 스키마 행 집합 열거자Foreach ADO.NET Schema Rowset Enumerator 스키마를 열거합니다.Enumerate a schema. 이 값을 선택하면 아래의 Foreach ADO.NET 열거자섹션에 설명된 동적 옵션이 표시됩니다.Selecting this value displays the dynamic options in the section, Foreach ADO.NET Enumerator.
Foreach From Variable 열거자Foreach From Variable Enumerator 변수의 값을 열거합니다.Enumerate the value in a variable. 이 값을 선택하면 아래의 Foreach From Variable 열거자섹션에 설명된 동적 옵션이 표시됩니다.Selecting this value displays the dynamic options in the section, Foreach From Variable Enumerator.
Foreach Nodelist 열거자Foreach Nodelist Enumerator XML 문서의 노드를 열거합니다.Enumerate nodes in an XML document. 이 값을 선택하면 아래의 Foreach Nodelist 열거자섹션에 설명된 동적 옵션이 표시됩니다.Selecting this value displays the dynamic options in the section, Foreach Nodelist Enumerator.
Foreach SMO 열거자Foreach SMO Enumerator SMO 개체를 열거합니다.Enumerate a SMO object. 이 값을 선택하면 아래의 Foreach SMO 열거자섹션에 설명된 동적 옵션이 표시됩니다.Selecting this value displays the dynamic options in the section, Foreach SMO Enumerator.
Foreach HDFS File 열거자Foreach HDFS File Enumerator 지정된 HDFS 위치에 있는 HDFS 파일을 열거합니다.Enumerate HDFS files in the specified HDFS location. 이 값을 선택하면 Foreach HDFS File 열거자섹션에 동적 옵션이 표시됩니다.Selecting this value displays the dynamic options in the section, Foreach HDFS File Enumerator.
Foreach Azure Blob 열거자Foreach Azure Blob Enumerator 지정된 Blob 위치에 있는 Blob 파일을 열거합니다.Enumerate blob files in the specified blob location. 이 값을 선택하면 Foreach Azure Blob 열거자섹션에 동적 옵션이 표시됩니다.Selecting this value displays the dynamic options in the section, Foreach Azure Blob Enumerator.
ADLS Foreach File 열거자Foreach ADLS File Enumerator 지정된 된 데이터 레이크 저장소 디렉터리에서 파일을 열거 합니다.Enumerate files in the specified Data Lake Store directory. 이 값을 선택 하면 동적 옵션 섹션에 표시 됩니다 Foreach ADLS File 열거자합니다.Selecting this value displays the dynamic options in the section, Foreach ADLS File Enumerator.

Expressions
기존 속성 식 목록을 보려면 을 클릭 또는 확장합니다.Click or expand Expressions to view the list of existing property expressions. 줄임표 단추(…)를 클릭하여 열거자 속성에 대한 속성 식을 추가하거나 기존 속성 식을 편집 및 평가합니다.Click the ellipsis button (…) to add a property expression for an enumerator property, or edit and evaluate an existing property expression.

관련 항목: Integration Services(SSIS) 식, 속성 식 편집기, 식 작성기Related Topics: Integration Services (SSIS) Expressions, Property Expressions Editor, Expression Builder

Enumerator 동적 옵션Enumerator Dynamic Options

Enumerator = Foreach File 열거자Enumerator = Foreach File Enumerator

폴더의 파일을 열거하는 데 Foreach File 열거자를 사용할 수 있습니다.You use the Foreach File enumerator to enumerate files in a folder. 예를 들어 Foreach 루프가 SQL 실행 태스크를 포함하는 경우 Foreach File 열거자를 사용하여 SQL 실행 태스크에서 실행하는 SQL 문을 포함하는 파일을 열거할 수 있습니다.For example, if the Foreach Loop includes an Execute SQL task, you can use the Foreach File enumerator to enumerate files that contain SQL statements that the Execute SQL task runs. 하위 폴더를 포함하도록 열거자를 구성할 수 있습니다.The enumerator can be configured to include subfolders.

루프의 외부 프로세스 또는 태스크에서는 루프가 실행되는 동안 파일을 추가, 삭제하거나 파일 이름을 바꾸기 때문에 Foreach File 열거자가 열거하는 폴더 및 하위 폴더의 내용이 루프가 실행되는 동안 변경될 수 있습니다.The content of the folders and subfolders that the Foreach File enumerator enumerates might change while the loop is executing because external processes or tasks in the loop add, rename, or delete files while the loop is executing. 이러한 변경 내용은 다양 한 예기치 않은 상황이 발생할 수 있습니다.These changes may cause a number of unexpected situations:

  • 파일을 삭제 한 경우 Foreach 루프에서 한 태스크의 작업 이후 작업에서 사용 되는 파일과 파일의 다른 집합 영향을 줄 수 있습니다.If files are deleted, the actions of one task in the Foreach Loop may affect a different set of files than the files used by subsequent tasks.

  • 파일 이름이 바뀌어 외부 프로세스 이름이 바뀐된 파일을 대체 하는 파일을 자동으로 추가, Foreach 루프 태스크의 작업 영향을 줄 수 같은 파일 두 번입니다.If files are renamed and an external process automatically adds files to replace the renamed files, the actions of tasks in the Foreach Loop may affect the same files twice.

  • 파일을 추가한 경우 Foreach 루프가 파일 영향을 결정 하기 어려울 수 있습니다.If files are added, it may be difficult to determine for which files the Foreach Loop affected.

    FolderFolder
    열거할 루트 폴더의 경로를 입력합니다.Provide the path of the root folder to enumerate.

    찾아보기Browse
    루트 폴더를 찾으려면 클릭합니다.Browse to locate the root folder.

    파일Files
    열거할 파일을 지정합니다.Specify the files to enumerate.

참고

와일드카드 문자()를 사용하여 컬렉션에 포함할 파일을 지정합니다.Use wildcard characters () to specify the files to include in the collection. 예를 들어 이름에 "abc"가 포함된 파일을 포함하려면 *abc*필터를 사용합니다.For example, to include files with names that contain “abc”, use the following filter: *abc*.

파일 이름 확장명을 지정하면 열거자는 동일한 확장명에 추가 문자가 포함된 파일도 반환합니다.When you specify a file name extension, the enumerator also returns files that have the same extension with additional characters appended. 이 동작은 이전 버전과의 호환성을 위해 8.3 파일 이름도 비교하는 운영 체제의 dir 명령줄 동작과 같습니다. 이 열거자 동작으로 인해 예기치 못한 결과가 발생할 수 있습니다.(This is the same behavior as that of the dir command in the operating system, which also compares 8.3 file names for backward compatibility.) This behavior of the enumerator could cause unexpected results. 예를 들어 Excel 2003 파일만 열거하기 위해 ".xls"를 지정하면For example, you want to enumerate only Excel 2003 files, and you specify ".xls". 그러나 열거자 반환 Excel 2007 파일 이므로 해당 파일의 확장명이 ".xlsx"입니다.However, the enumerator also returns Excel 2007 files because those files have the extension, ".xlsx".

식을 사용하여 컬렉션에 포함할 파일을 지정할 수 있습니다. 컬렉션 페이지에서 을 확장하고 FileSpec 속성을 선택한 후 줄임표 단추(…)를 클릭하여 속성 식을 추가합니다.You can use an expression to specify the files to include in a collection, by expanding Expressions on the Collection page, selecting the FileSpec property, and then clicking the ellipsis button (…) to add the property expression.

정규화 된 이름Fully qualified
파일 이름의 정규화된 경로를 검색하려면 선택합니다.Select to retrieve the fully qualified path of file names. 파일 옵션에서 와일드 카드 문자를 지정 하는 필터와 일치 반환 되는 정규화 된 경로입니다.If wildcard characters are specified in the Files option, then the fully qualified paths that are returned match the filter.

이름만Name only
파일 이름만 검색하려면 선택합니다.Select to retrieve only the file names. 파일 옵션에서 와일드카드 문자를 지정하지 않은 경우 반환된 파일 이름이 필터와 일치합니다.If wildcard characters are specified in the Files option, then the file names returned match the filter.

이름 및 확장명Name and extension
파일 이름 및 해당 파일 이름 확장명을 검색하려면 선택합니다.Select to retrieve the file names and their file name extensions. 파일 옵션에서 와일드카드 문자를 지정한 경우 반환된 파일의 이름과 확장명이 필터와 일치합니다.If wildcard characters are specified in the Files option, then the name and extension of files returned match the filter.

하위 폴더 포함Traverse Subfolders
열거에 하위 폴더를 포함하려면 선택합니다.Select to include the subfolders in the enumeration.

Enumerator = Foreach Item 열거자Enumerator = Foreach Item Enumerator

컬렉션의 항목을 열거하는 데 Foreach Item 열거자를 사용할 수 있습니다.You use the Foreach Item enumerator to enumerate items in a collection. 열 및 열 값을 지정하여 컬렉션의 항목을 정의합니다.You define the items in the collection by specifying columns and column values. 행의 열은 항목을 정의합니다.The columns in a row define an item. 예를 들어 프로세스 실행 태스크에서 실행하는 실행 파일과 해당 태스크에서 사용하는 작업 디렉터리를 지정하는 항목에는 두 개의 열, 즉 실행 파일의 이름을 나열하는 열과 작업 디렉터리를 나열하는 열이 있습니다.For example, an item that specifies the executables that an Execute Process task runs and the working directory that the task uses has two columns, one that lists the names of executables and one that lists the working directory. 행 수는 루프가 반복되는 횟수를 결정합니다.The number of rows determines the number of times that the loop is repeated. 테이블에 10개의 행이 있는 경우 루프는 10번 반복됩니다.If the table has 10 rows, the loop repeats 10 times.

프로세스 실행 태스크의 속성을 업데이트하려면 열의 인덱스를 사용하여 변수를 항목 열에 매핑합니다.To update the properties of the Execute Process task, you map variables to item columns by using the index of the column. 인덱스 값은 열거자 항목에 정의된 첫 번째 열에 0, 두 번째 열에 1과 같이 열에 순서대로 지정됩니다.The first column defined in the enumerator item has the index value 0, the second column 1, and so on. 변수 값은 루프가 반복될 때마다 업데이트됩니다.The variable values are updated with each repeat of the loop. 그런 다음 프로세스 실행 태스크의 ExecutableWorkingDirectory 속성은 이러한 변수를 사용하는 속성 식으로 업데이트할 수 있습니다.The Executable and WorkingDirectory properties of the Execute Process task can then be updated by property expressions that use these variables.

For Each Item 컬렉션에 항목 정의Define the items in the For Each Item collection
테이블의 각 열에 대한 값을 입력합니다.Provide a value for each column in the table.

참고

행 열에 값을 입력하면 새 행이 해당 테이블에 자동으로 추가됩니다.A new row is automatically added to the table after you enter values in row columns.

참고

입력한 값이 열 데이터 형식과 호환되지 않으면 텍스트가 빨간색으로 표시됩니다.If the values provided are not compatible with the column data type, the text is colored red.

열 데이터 형식Column data type
활성 열의 데이터 형식을 나열합니다.Lists the data type of the active column.

제거Remove
목록에서 항목을 제거하려면 항목을 선택하고 제거 를 클릭합니다.Select an item, and then click Remove to remove it from the list.

Columns
항목에 있는 열의 데이터 형식을 구성하려면 클릭합니다.Click to configure the data type of the columns in the item.

관련 항목: For Each Item 열 대화 상자 UI 참조Related Topics: For Each Item Columns Dialog Box UI Reference

Enumerator = Foreach ADO 열거자Enumerator = Foreach ADO Enumerator

변수에 저장된 ADO 또는 ADO.NET 개체의 행이나 테이블을 열거하는 데 Foreach ADO 열거자를 사용할 수 있습니다.You use the Foreach ADO enumerator to enumerate rows or tables in an ADO or ADO.NET object that is stored in a variable. 예를 들어 Foreach 루프가 변수에 데이터 집합을 기록하는 스크립트 태스크를 포함하는 경우 Foreach ADO 열거자를 사용하여 데이터 집합의 행을 열거할 수 있습니다.For example, if the Foreach Loop includes a Script task that writes a dataset to a variable, you can use the Foreach ADO enumerator to enumerate the rows in the dataset. 변수가 ADO.NET 데이터 집합을 포함하는 경우 여러 테이블의 행을 열거하거나 테이블을 열거하도록 열거자를 구성할 수 있습니다.If the variable contains an ADO.NET dataset, the enumerator can be configured to enumerate rows in multiple tables or to enumerate tables.

ADO 개체 원본 변수ADO object source variable
사용자 정의 변수를 목록에서 선택 하거나 클릭 < 새 변수... > 새 변수를 만듭니다.Select a user-defined variable in the list, or click <New variable...> to create a new variable.

참고

변수에 Object 데이터 형식이 있어야 합니다. 그렇지 않으면 오류가 발생합니다.The variable must have the Object data type, otherwise an error occurs.

관련 항목: Integration Services(SSIS) 변수, 변수 추가Related Topics: Integration Services (SSIS) Variables, Add Variable

첫 번째 테이블의 행Rows in first table
첫 번째 테이블의 행만 열거하려면 선택합니다.Select to enumerate only rows in the first table.

모든 테이블 (ADO.NET 데이터 집합에만 해당)의 행Rows in all tables (ADO.NET dataset only)
모든 테이블의 행을 열거하려면 선택합니다.Select to enumerate rows in all tables. 이 옵션은 열거할 모든 개체가 같은 ADO.NET 데이터 집합의 멤버인 경우에만 사용할 수 있습니다.This option is available only if the objects to enumerate are all members of the same ADO.NET dataset.

모든 테이블 (ADO.NET 데이터 집합에만 해당)All tables (ADO.NET dataset only)
테이블만 열거하려면 선택합니다.Select to enumerate tables only.

Enumerator = Foreach ADO.NET 스키마 행 집합 열거자Enumerator = Foreach ADO.NET Schema Rowset Enumerator

지정한 데이터 원본에 대한 스키마를 열거하는 데 Foreach ADO.NET 스키마 행 집합 열거자를 사용할 수 있습니다.You use the Foreach ADO.NET Schema Rowset enumerator to enumerate a schema for a specified data source. 예를 들어 Foreach 루프가 SQL 실행 태스크를 포함하는 경우 Foreach ADO.NET 스키마 행 집합 열거자를 사용하여 AdventureWorks 데이터베이스의 열과 같은 스키마를 열거하고 SQL 실행 태스크를 사용하여 스키마 사용 권한을 가져올 수 있습니다.For example, if the Foreach Loop includes an Execute SQL task, you can use the Foreach ADO.NET Schema Rowset enumerator to enumerate schemas such as the columns in the AdventureWorks database, and the Execute SQL task to get the schema permissions.

연결Connection
목록에서 ADO.NET 연결 관리자를 선택 하거나 클릭 < 새 연결... > 새 ADO.NET 연결 관리자를 만듭니다.Select an ADO.NET connection manager in the list, or click <New connection...> to create a new ADO.NET connection manager.

중요

ADO.NET 연결 관리자는 OLE DB용 .NET 공급자를 사용해야 합니다.The ADO.NET connection manager must use a .NET provider for OLE DB. SQL Server에 연결하는 경우 SQL ServerSQL Server 연결 관리자 대화 상자의 OleDb용 .NET 공급자 섹션에 나열된 Native Client를 공급자로 사용하는 것이 좋습니다.If connecting to SQL Server, the recommended provider to use is the SQL ServerSQL Server Native Client, listed in the .Net Providers for OleDb section of the Connection Manager dialog box.

관련 항목: ADO Connection Manager, Configure ADO.NET Connection ManagerRelated Topics: ADO Connection Manager, Configure ADO.NET Connection Manager

스키마Schema
열거할 스키마를 선택합니다.Select the schema to enumerate.

제한 설정Set Restrictions
지정한 스키마에 적용할 제한을 설정합니다.Set the restrictions to apply to the specified schema.

관련 항목: 스키마 제한 대화 상자Related Topics: Schema Restrictions Dialog Box

Enumerator = Foreach From Variable 열거자Enumerator = Foreach From Variable Enumerator

지정한 변수의 열거 가능한 개체를 열거하는 데 Foreach From Variable 열거자를 사용할 수 있습니다.You use the Foreach From Variable enumerator to enumerate the enumerable objects in the specified variable. 예를 들어 Foreach 루프가 쿼리를 실행하여 변수에 결과를 저장하는 SQL 실행 태스크를 포함하는 경우 Foreach From Variable 열거자를 사용하여 쿼리 결과를 열거할 수 있습니다.For example, if the Foreach Loop includes an Execute SQL task that runs a query and stores the result in a variable, you can use the Foreach From Variable enumerator to enumerate the query results.

변수Variable
목록에서 변수를 선택 하거나 클릭 < 새 변수... > 새 변수를 만듭니다.Select a variable in the list, or click <New variable...> to create a new variable.

관련 항목: Integration Services(SSIS) 변수, 변수 추가Related Topics: Integration Services (SSIS) Variables, Add Variable

Enumerator = Foreach NodeList 열거자Enumerator = Foreach NodeList Enumerator

XML 파일에 XPath 식을 적용한 결과 생성된 XML 노드 집합을 열거하는 데 Foreach Nodelist 열거자를 사용할 수 있습니다.You use the Foreach Nodelist enumerator to enumerate the set of XML nodes that results from applying an XPath expression to an XML file. 예를 들어 Foreach 루프가 스크립트 태스크를 포함하는 경우 Foreach NodeList 열거자를 사용하여 XPath 식 조건에 부합하는 값을 XML 파일에서 스크립트 태스크로 전달할 수 있습니다.For example, if the Foreach Loop includes a Script task, you can use the Foreach NodeList enumerator to pass a value that meets the XPath expression criteria from the XML file to the Script task.

XML 파일에 적용되는 XPath 식은 OuterXPathString 속성에 저장되는 외부 XPath 작업입니다.The XPath expression that applies to the XML file is the outer XPath operation, stored in the OuterXPathString property. XPath 열거형을 ElementCollection으로 설정한 경우 Foreach NodeList 열거자는 InnerXPathString 속성에 저장되는 내부 XPath 식을 요소 모음에 적용할 수 있습니다.If the XPath enumeration type is set to ElementCollection, the Foreach NodeList enumerator can apply an inner XPath expression, stored in the InnerXPathString property, to a collection of element.

XML 문서 및 데이터 작업 방법은 MSDN Library의 ".NET Framework에 XML 적용(Employing XML in the .NET Framework)"을 참조하십시오.To learn more about working with XML documents and data, see "Employing XML in the .NET Framework" in the MSDN Library.

DocumentSourceTypeDocumentSourceType
XML 문서의 원본 유형을 선택합니다.Select the source type of the XML document. 이 속성의 옵션은 다음 표에 나열되어 있습니다.This property has the options listed in the following table:

ValueValue DescriptionDescription
직접 입력Direct input 원본을 XML 문서로 설정합니다.Set the source to an XML document.
파일 연결File connection XML 문서가 포함된 파일을 선택합니다.Select a file that contains the XML document.
변수Variable 원본을 XML 문서가 포함된 변수로 설정합니다.Set the source to a variable that contains the XML document.

DocumentSourceDocumentSource
DocumentSourceType직접 입력으로 설정한 경우 XML 코드를 입력하거나 줄임표 단추 (...)를 클릭하고 문서 원본 편집기 대화 상자를 사용하여 XML을 입력합니다.If DocumentSourceType is set to Direct input, provide the XML code, or click the ellipsis (…) button to provide XML by using the Document Source Editor dialog box.

경우 DocumentSourceType 로 설정 된 파일 연결, 파일 연결 관리자를 선택 하거나 클릭 < 새 연결... > 새 연결 관리자를 만듭니다.If DocumentSourceType is set to File connection, select a File connection manager, or click <New connection...> to create a new connection manager.

관련 항목: File Connection Manager, File Connection Manager EditorRelated Topics: File Connection Manager, File Connection Manager Editor

경우 DocumentSourceType 로 설정 된 변수기존 변수를 선택 하거나 클릭 < 새 변수... > 새 변수를 만듭니다.If DocumentSourceType is set to Variable, select an existing variable, or click <New variable...> to create a new variable.

관련 항목: Integration Services(SSIS) 변수, 변수 추가Related Topics: Integration Services (SSIS) Variables, Add Variable.

EnumerationTypeEnumerationType
목록에서 열거 유형을 선택합니다.Select an enumeration type from the list. 이 속성의 옵션은 다음 표에 나열되어 있습니다.This property has the options listed in the following table:

ValueValue DescriptionDescription
탐색 창Navigator XPathNavigator를 사용하여 열거합니다.Enumerate using an XPathNavigator.
노드Node XPath 작업에서 반환한 노드를 열거합니다.Enumerate nodes returned by an XPath operation.
NodeTextNodeText XPath 작업에서 반환한 텍스트 노드를 열거합니다.Enumerate text nodes returned by an XPath operation.
ElementCollectionElementCollection XPath 작업에서 반환한 요소 노드를 열거합니다.Enumerates element nodes returned by an XPath operation.

OuterXPathStringSourceTypeOuterXPathStringSourceType
XPath 문자열의 원본 유형을 선택합니다.Select the source type of the XPath string. 이 속성의 옵션은 다음 표에 나열되어 있습니다.This property has the options listed in the following table:

ValueValue DescriptionDescription
직접 입력Direct input 원본을 XML 문서로 설정합니다.Set the source to an XML document.
파일 연결File connection XML 문서가 포함된 파일을 선택합니다.Select a file that contains the XML document.
변수Variable 원본을 XML 문서가 포함된 변수로 설정합니다.Set the source to a variable that contains the XML document.

OuterXPathStringOuterXPathString
OuterXPathStringSourceType직접 입력으로 설정한 경우 XPath 문자열을 입력합니다.If OuterXPathStringSourceType is set to Direct input, provide the XPath string.

경우 OuterXPathStringSourceType 로 설정 된 파일 연결, 파일 연결 관리자를 선택 하거나 클릭 < 새 연결... > 새 연결 관리자를 만듭니다.If OuterXPathStringSourceType is set to File connection, select a File connection manager, or click <New connection...> to create a new connection manager.

관련 항목: File Connection Manager, File Connection Manager EditorRelated Topics: File Connection Manager, File Connection Manager Editor

경우 OuterXPathStringSourceType 로 설정 된 변수기존 변수를 선택 하거나 클릭 < 새 변수... > 새 변수를 만듭니다.If OuterXPathStringSourceType is set to Variable, select an existing variable, or click <New variable...> to create a new variable.

관련 항목: Integration Services(SSIS) 변수, 변수 추가Related Topics: Integration Services (SSIS) Variables, Add Variable.

InnerElementTypeInnerElementType
EnumerationTypeElementCollection으로 설정한 경우 목록에서 내부 요소의 유형을 선택합니다.If EnumerationType is set to ElementCollection, select the type of inner element in the list.

InnerXPathStringSourceTypeInnerXPathStringSourceType
내부 XPath 문자열의 원본 유형을 선택합니다.Select the source type of the inner XPath string. 이 속성의 옵션은 다음 표에 나열되어 있습니다.This property has the options listed in the following table:

ValueValue DescriptionDescription
직접 입력Direct input 원본을 XML 문서로 설정합니다.Set the source to an XML document.
파일 연결File connection XML 문서가 포함된 파일을 선택합니다.Select a file that contains the XML document.
변수Variable 원본을 XML 문서가 포함된 변수로 설정합니다.Set the source to a variable that contains the XML document.

InnerXPathStringInnerXPathString
InnerXPathStringSourceType직접 입력으로 설정한 경우 XPath 문자열을 입력합니다.If InnerXPathStringSourceType is set to Direct input, provide the XPath string.

경우 InnerXPathStringSourceType 로 설정 된 파일 연결, 파일 연결 관리자를 선택 하거나 클릭 < 새 연결... > 새 연결 관리자를 만듭니다.If InnerXPathStringSourceType is set to File connection, select a File connection manager, or click <New connection...> to create a new connection manager.

관련 항목: File Connection Manager, File Connection Manager EditorRelated Topics: File Connection Manager, File Connection Manager Editor

경우 InnerXPathStringSourceType 로 설정 된 변수기존 변수를 선택 하거나 클릭 < 새 변수... > 새 변수를 만듭니다.If InnerXPathStringSourceType is set to Variable, select an existing variable, or click <New variable...> to create a new variable.

관련 항목: Integration Services(SSIS) 변수, 변수 추가Related Topics: Integration Services (SSIS) Variables, Add Variable.

Enumerator = Foreach SMO 열거자Enumerator = Foreach SMO Enumerator

SMO(SQL Server Management Objects) 개체를 열거하는 데 Foreach SMO 열거자를 사용할 수 있습니다.You use the Foreach SMO enumerator to enumerate SQL Server Management Object (SMO) objects. 예를 들어 Foreach 루프가 SQL 실행 태스크를 포함 하는 경우 Foreach SMO 열거자를 사용 하 여 테이블을 열거 수 있습니다는 AdventureWorks 데이터베이스에 있으며 각 테이블의 행 수를 계산 하는 쿼리를 실행 합니다.For example, if the Foreach Loop includes an Execute SQL task, you can use the Foreach SMO enumerator to enumerate the tables in the AdventureWorks database and run queries that count the number of rows in each table.

연결Connection
기존 ADO.NET 연결 관리자를 선택 하거나 클릭 < 새 연결... > 새 연결 관리자를 만듭니다.Select an existing ADO.NET connection manager, or click <New connection...> to create a new connection manager.

관련 항목: ADO.NET Connection Manager, Configure ADO.NET Connection ManagerRelated Topics: ADO.NET Connection Manager, Configure ADO.NET Connection Manager

열거Enumerate
열거할 SMO 개체를 지정합니다.Specify the SMO object to enumerate.

찾아보기Browse
SMO 열거를 선택합니다.Select the SMO enumeration.

관련 항목: SMO 열거 선택 대화 상자Related Topics: Select SMO Enumeration Dialog Box

열거자 = Foreach HDFS File 열거자 Enumerator = Foreach HDFS File Enumerator

SSIS 패키지는 Foreach HDFS 파일 열거자 를 사용하여 지정된 HDFS 위치에 있는 HDFS 파일을 열거할 수 있습니다.The Foreach HDFS File Enumerator enables an SSIS package to enumerate HDFS files in the specified HDFS location. 각 HDFS 파일의 이름을 변수에 저장하여 Foreach 루프 컨테이너 내의 태스크에서 사용할 수 있습니다.The name of each HDFS file can be stored in a variable and used in tasks inside the Foreach Loop Container.

Hadoop 연결 관리자Hadoop Connection Manager
기존 Hadoop 연결 관리자를 지정하거나 HDFS 파일이 호스트되는 위치를 가리키는 새 연결 관리자를 만듭니다.Specify an existing Hadoop Connection Manager or create a new one, which points to where the HDFS files are hosted. 자세한 내용은 Hadoop Connection Manager를 참조하십시오.For more info, see Hadoop Connection Manager.

디렉터리 경로Directory Path
열거할 HDFS 파일을 포함하는 HDFS 디렉터리의 이름을 지정합니다.Specify the name of the HDFS directory that contains the HDFS files to be enumerated.

파일 이름 필터File name filter
특정 이름 패턴의 파일을 선택하려면 이름 필터를 지정합니다.Specify a name filter to select files with a certain name pattern. 예를 들어 MySheet.xls* MySheet001.xls 및 MySheetABC.xlsx와 같은 파일이 포함 되어 있습니다.For example, MySheet.xls* includes files such as MySheet001.xls and MySheetABC.xlsx.

파일 이름 검색Retrieve file name
SSIS에서 검색되는 파일 이름 형식을 지정합니다.Specify the file name type retrieved by SSIS.

  • 정규화 된 이름 디렉터리 경로 파일 이름을 포함 하는 전체 이름을 의미 합니다.Fully qualified name means the full name, which contains the directory path and file name.

  • 이름만 경로 없이 파일 이름을 검색 하는 것을 의미 합니다.Name only means the file name is retrieved without the path.

    하위 폴더 포함Traverse subfolders
    하위 폴더를 재귀적으로 반복할지 여부를 지정합니다.Specify whether to loop through subfolders recursively.

    편집기의 변수 매핑 페이지에서 열거된 HDFS 파일의 이름을 저장할 변수를 선택하거나 만듭니다.On the Variable Mappings page of the editor, select or create a variable to store the name of the enumerated HDFS file.

열거자 = Foreach Azure Blob 열거자 Enumerator = Foreach Azure Blob Enumerator

SSIS 패키지는 Azure Blob 열거자 를 사용하여 지정된 Blob 위치에 있는 Blob 파일을 열거할 수 있습니다.The Azure Blob Enumerator enables an SSIS package to enumerate blob files in the specified blob location. 변수에 열거 된 blob 파일의 이름을 저장 하 고 Foreach 루프 컨테이너 내의 작업에서 사용할 수 있습니다.You can store the name of the enumerated blob file in a variable and use it in tasks inside the Foreach Loop Container.

Azure Blob 열거자SQL Server 2016SQL Server 2016에 대해 제공되는 Azure용 SSIS(SQL Server Integration Services) 기능 팩의 구성 요소입니다.The Azure Blob Enumerator is a component of the SQL Server Integration Services (SSIS) Feature Pack for Azure for SQL Server 2016SQL Server 2016. 여기서 기능 팩을 다운로드하세요.Download the Feature Pack here.

Azure 저장소 연결 관리자Azure storage connection manager
기존 Azure 저장소 연결 관리자를 선택하거나 Azure 저장소 계정을 참조하는 연결 관리자 하나를 새로 만듭니다.Select an existing Azure Storage Connection Manager or create a new one that refers to an Azure Storage Account.

관련된 항목: Azure 저장소 연결 관리자합니다.Related Topics: Azure Storage Connection Manager.

Blob 컨테이너 이름Blob container name
열거할 blob 파일을 포함 하는 blob 컨테이너의 이름을 지정 합니다.Specify the name of the blob container that contains the blob files to be enumerated.

Blob 디렉터리Blob directory
열거할 blob 파일을 포함 하는 blob 디렉터리를 지정 합니다.Specify the blob directory that contains the blob files to be enumerated. Blob 디렉터리는 가상 계층 구조입니다.The blob directory is a virtual hierarchical structure.

Blob 이름 필터Blob name filter
특정 이름 패턴의 파일을 열거하려면 이름 필터를 지정합니다.Specify a name filter to enumerate files with a certain name pattern. 예를 들어 MySheet*.xls\* MySheet001.xls 및 MySheetABC.xlsx와 같은 파일을 포함 합니다.For example, MySheet*.xls\* includes files such as MySheet001.xls and MySheetABC.xlsx.

Blob 시간 범위 시작/끝 필터Blob time range from/to filter
시간 범위 필터를 지정합니다.Specify a time range filter. 수정 된 파일이 TimeRangeFrom 하기 전에 TimeRangeTo 열거 됩니다.Files modified after TimeRangeFrom and before TimeRangeTo are enumerated.

열거자 = Foreach ADLS File 열거자 Enumerator = Foreach ADLS File Enumerator

ADLS File 열거자 는 SSIS 패키지에서 Azure 데이터 레이크 저장소의 파일을 열거 합니다.The ADLS File Enumerator enables an SSIS package to enumerate files in Azure Data Lake Store. 열거 된 파일의 전체 경로 저장할 수 있습니다 (슬래시-접두사로 /) 변수를 사용 하 여 Foreach 루프 컨테이너 내의 작업에서 파일 경로입니다.You can store the full path of the enumerated file (prefixed with a slash - /) in a variable and use the file path in tasks inside the Foreach Loop Container.

AzureDataLakeConnectionAzureDataLakeConnection
Azure 데이터 레이크 연결 관리자를 지정 하거나 ADLS 계정을 참조 하는 새 브러시를 만듭니다.Specifies an Azure Data Lake connection manager, or creates a new one that refers to an ADLS account.

AzureDataLakeDirectoryAzureDataLakeDirectory
파일을 열거할 수 있는 ADLS 디렉터리를 지정 합니다.Specifies the ADLS directory that contains the files to be enumerated.

FileNamePatternFileNamePattern
파일 이름 필터를 지정합니다.Specifies a file name filter. 지정된 된 패턴과 일치 하는 파일만 열거 됩니다.Only files whose names match the specified pattern are enumerated. 와일드 카드 *? 지원 됩니다.The wildcards * and ? are supported.

SearchRecursivelySearchRecursively
지정된 된 디렉터리 내에서 재귀적으로 검색할 것인지 지정 합니다.Specifies whether to search recursively within the specified directory.

변수 매핑 페이지-Foreach 루프 편집기Variable Mappings Page - Foreach Loop Editor

Foreach 루프 편집기 대화 상자의 변수 매핑 페이지를 사용하여 변수를 컬렉션 값에 매핑할 수 있습니다.Use the Variables Mappings page of the Foreach Loop Editor dialog box to map variables to the collection value. 변수 값은 루프가 반복될 때마다 컬렉션 값으로 업데이트됩니다.The value of the variable is updated with the collection values on each iteration of the loop.

Integration Services 패키지의 Foreach 루프 컨테이너를 사용 하는 방법에 대 한 자세한 내용은 Foreach 루프 컨테이너합니다.To learn about how to use the Foreach Loop container in an Integration Services package, see Foreach Loop Container. 구성 방법에 대한 자세한 내용은 Foreach 루프 컨테이너 구성을 참조하세요.To learn about how to configure it, see Configure a Foreach Loop Container.

MicrosoftMicrosoft SQL ServerSQL Server Integration ServicesIntegration Services 자습서인 간단한 ETL 패키지 만들기 자습서에는 Foreach 루프를 추가 및 구성하는 방법을 배울 수 있는 단원이 있습니다.The MicrosoftMicrosoft SQL ServerSQL Server Integration ServicesIntegration Services tutorial, Creating a Simple ETL Package Tutorial, includes a lesson that teaches you to add and configure a Foreach Loop.

옵션Options

변수Variable
기존 변수를 선택 하거나 클릭 새 변수... 새 변수를 만듭니다.Select an existing variable, or click New variable... to create a new variable.

참고

변수를 매핑하면 새 행이 변수 목록에 자동으로 추가됩니다.After you map a variable, a new row is automatically added to the Variable list.

관련 항목: Integration Services(SSIS) 변수, 변수 추가Related Topics: Integration Services (SSIS) Variables, Add Variable

IndexIndex
Foreach Item 열거자를 사용하는 경우 컬렉션 값에서 변수에 매핑할 열의 인덱스를 지정합니다.If using the Foreach Item enumerator, specify the index of the column in the collection value to map to the variable. 다른 유형의 열거자를 사용하는 경우 인덱스는 읽기 전용입니다.For other enumerator types, the index is read-only.

참고

인덱스는 0부터 시작합니다.The index is 0-based.

DeleteDelete
변수를 선택한 다음 삭제를 클릭합니다.Select a variable, and then click Delete.

스키마 제한 대화 상자 (ADO.NET)Schema Restrictions dialog box (ADO.NET)

스키마 제한 대화 상자를 사용하여 Foreach ADO.NET 스키마 행 집합 열거자에 적용할 스키마 제한을 설정할 수 있습니다.Use the Schema Restrictions dialog box to set the schema restrictions to apply to the Foreach ADO.NET Schema Rowset enumerator.

옵션Options

제한 사항Restrictions
스키마에 적용할 제약 조건을 선택합니다.Select the constraints to apply to the schema.

변수Variable
변수를 사용하여 제한을 정의합니다.Use a variable to define restrictions. 목록에서 변수를 선택하거나 새 변수...를 클릭하여 새 변수를 만듭니다.Select a variable in the list, or click New variable... to create a new variable.

관련 항목: Integration Services(SSIS) 변수, 변수 추가Related Topics: Integration Services (SSIS) Variables , Add Variable

텍스트Text
제한을 정의할 텍스트를 입력합니다.Provide the text to define restrictions.

For Each Item 열 대화 상자For Each Item Columns dialog box

For Each Item 열 대화 상자를 사용하여 Foreach Item 열거자에서 열거하는 항목에 열을 정의할 수 있습니다.Use the For Each Item Columns dialog box to define the columns in the items that the Foreach Item enumerator enumerates.

옵션Options

Column
열을 나열합니다.Lists the columns.

데이터 형식Data Type
데이터 형식을 선택합니다.Select the data type.

추가Add
새 열을 추가합니다.Add a new column.

제거Remove
열을 선택한 다음 제거를 클릭합니다.Select a column, and then click Remove.

SMO 열거 선택 대화 상자Select SMO Enumeration dialog box

SMO 열거 선택 대화 상자를 사용하여 지정한 SQL ServerSQL Server 인스턴스에서 열거할 SMO( SQL ServerSQL Server Management Objects) 개체를 지정할 수 있고 열거형을 선택할 수 있습니다.Use the Select SMO Enumeration dialog box to specify the SQL ServerSQL Server Management Objects (SMO) object on the specified instance of SQL ServerSQL Server to enumerate, and to select the enumeration type.

옵션Options

열거Enumerate
서버를 확장한 다음 SMO 개체를 선택합니다.Expand the server and select the SMO object.

개체Objects
Objects 열거형을 사용합니다.Use the Objects enumeration type.

미리 채우기Prepopulate
Objects 열거형과 함께 미리 채우기 옵션을 사용합니다.Use the Prepopulate option with the Objects enumeration type.

이름Names
Names 열거형을 사용합니다.Use the Names enumeration type.

UrnURNs
URNs 열거형을 사용합니다.Use the URNs enumeration type.

위치Locations
Locations 열거형을 사용합니다.Use the Locations enumeration type. 이 옵션은 파일에 대해서만 사용할 수 있습니다.This option is available only for files.

Foreach 루프 컨테이너와 함께 속성 식을 사용 하 여Use property expressions with Foreach Loop containers

여러 개의 실행 파일을 동시에 실행하도록 패키지를 구성할 수 있습니다.Packages can be configured to concurrently run multiple executables. 패키지가 속성 식을 구현하는 Foreach 루프 컨테이너를 포함하는 경우에는 이 구성 사용 시 주의해야 합니다.This configuration should be used with caution when the package includes a Foreach Loop container that implements property expressions.

Foreach 루프 열거자가 사용하는 연결 관리자의 ConnectionString 속성 값을 설정하기 위해 속성 식을 구현하면 유용합니다.It is often useful to implement a property expression to set the value of the ConnectionString property of the connection managers that the Foreach Loop enumerators use. ConnectionString의 속성 식은 열거자의 컬렉션 값에 매핑되는 변수에 의해 설정되며 루프가 반복될 때마다 업데이트됩니다.The property expression of ConnectionString is set by a variable that maps to the collection value of the enumerator and is updated at each iteration of the loop.

루프 태스크의 병렬 실행 타이밍이 불확실해지는 부정적인 결과가 발생하지 않도록 하려면 한 번에 하나의 실행 파일만 실행하도록 패키지를 구성해야 합니다.To avoid negative consequences of nondeterminative timing of parallel execution of tasks in the loop, the package should be configured to run only one executable at a time. 예를 들어 한 패키지가 여러 태스크를 동시에 실행할 수 있는 경우 SQL 실행 태스크의 인스턴스 두 개가 동시에 쓰기를 시도하면 폴더에 있는 파일을 열거하고 파일 이름을 검색한 다음 SQL 실행 태스크를 사용하여 파일 이름을 테이블에 삽입하는 Foreach 루프 컨테이너에 쓰기 충돌이 발생할 수 있습니다.For example, if a package can run multiple tasks concurrently, a Foreach Loop container that enumerates files in the folder, retrieves the file names, and then uses an Execute SQL task to insert the file names into a table may incur write conflicts when two instances of the Execute SQL task attempt to write at the same time. 자세한 내용은 패키지에서 속성 식 사용을 참조하세요.For more information, see Use Property Expressions in Packages.

관련 항목:See Also

제어 흐름 Control Flow
Integration Services 컨테이너Integration Services Containers