Contenitore Ciclo ForeachForeach Loop Container

Il contenitore Ciclo Foreach definisce un flusso di controllo ripetuto all'interno di un pacchetto.The Foreach Loop container defines a repeating control flow in a package. L'implementazione del ciclo è simile alla struttura del ciclo Foreach nei linguaggi di programmazione.The loop implementation is similar to Foreach looping structure in programming languages. In un pacchetto per l'esecuzione del ciclo viene utilizzato un enumeratore Foreach.In a package, looping is enabled by using a Foreach enumerator. Il contenitore Ciclo Foreach ripete il flusso di controllo per ogni membro di un enumeratore specificato.The Foreach Loop container repeats the control flow for each member of a specified enumerator.

SQL ServerSQL Server Integration ServicesIntegration Services sono disponibili i tipi di enumeratori seguenti: Integration ServicesIntegration Services provides the following enumerator types:

  • Foreach ADO Enumerator, per enumerare righe nelle tabelle.Foreach ADO enumerator to enumerate rows in tables. Consente ad esempio di ottenere le righe in un recordset ADO.For example, you can get the rows in an ADO recordset.

    Con la destinazione recordset è possibile salvare i dati in memoria in un recordset archiviato in una variabile del pacchetto il cui tipo di dati è Object .The Recordset destination saves data in memory in a recordset that is stored in a package variable of Object data type. In genere si utilizza un contenitore Ciclo Foreach con l'enumeratore Foreach ADO per elaborare una riga del recordset alla volta.You typically use a Foreach Loop container with the Foreach ADO enumerator to process one row of the recordset at a time. Il tipo di dati della variabile specificata per l'enumeratore Foreach ADO deve essere Object.The variable specified for the Foreach ADO enumerator must be of Object data type. Per ulteriori informazioni sulla destinazione Recordset, vedere utilizzare una destinazione Recordset.For more information about the Recordset destination, see Use a Recordset Destination.

  • Foreach ADO.NET Schema Rowset Enumerator, per enumerare le informazioni dello schema relative a un'origine dei dati.Foreach ADO.NET Schema Rowset enumerator to enumerate the schema information about a data source. Consente ad esempio di enumerare e ottenere un elenco delle tabelle presenti nel database 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 Enumerator, per enumerare i file contenuti in una cartella.Foreach File enumerator to enumerate files in a folder. È possibile includere nell'enumerazione anche le sottocartelle.The enumerator can traverse subfolders. È ad esempio possibile leggere tutti i file con estensione log presenti nella cartella di Windows e nelle relative sottocartelle.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 Enumerator, per enumerare gli oggetti enumerabili contenuti in una variabile specificata.Foreach From Variable enumerator to enumerate the enumerable object that a specified variable contains. L'oggetto enumerabile può essere una matrice, un oggetto DataTableADO.NET, un enumeratore Integration ServicesIntegration Services e così via.The enumerable object can be an array, an ADO.NET DataTable, an Integration ServicesIntegration Services enumerator, and so on. È ad esempio possibile enumerare i valori di una matrice che contiene i nomi dei server.For example, you can enumerate the values of an array that contains the name of servers.

  • Foreach Item Enumerator, per enumerare elementi costituiti da raccolte.Foreach Item enumerator to enumerate items that are collections. È ad esempio possibile enumerare i nomi degli eseguibili e delle directory di lavoro utilizzate dall'attività Esegui processo.For example, you can enumerate the names of executables and working directories that an Execute Process task uses.

  • Foreach Nodelist Enumerator, per enumerare il set di risultati di un'espressione XPath (XML Path Language).Foreach Nodelist enumerator to enumerate the result set of an XML Path Language (XPath) expression. L'espressione seguente consente ad esempio di enumerare e ottenere un elenco di tutti gli autori del periodo classico: /authors/author[@period='classical'].For example, this expression enumerates and gets a list of all the authors in the classical period: /authors/author[@period='classical'].

  • Foreach SMO Enumerator, per enumerare oggetti SMO ( SQL ServerSQL Server Management Objects).Foreach SMO enumerator to enumerate SQL ServerSQL Server Management Objects (SMO) objects. Consente ad esempio di enumerare e ottenere un elenco delle viste presenti in un database di SQL ServerSQL Server .For example, you can enumerate and get a list of the views in a SQL ServerSQL Server database.

  • Foreach HDFS File Enumerator per enumerare i file HDFS nel percorso HDFS specificato.Foreach HDFS File Enumerator to enumerate HDFS files in the specified HDFS location.

  • Enumeratore BLOB di Azure Foreach per enumerare i BLOB in un contenitore BLOB di Archiviazione di Azure.Foreach Azure Blob enumerator to enumerate blobs in a blob container in Azure Storage.

  • File di ADLS di foreach enumerator per enumerare i file in una directory in un archivio Azure Data Lake.Foreach ADLS File enumerator to enumerate files in a directory in Azure Data Lake Store.

    Nella figura seguente viene illustrato un contenitore Ciclo Foreach che include un'attività File system.The following diagram shows a Foreach Loop container that has a File System task. Il ciclo Foreach utilizza Foreach File Enumerator e l'attività File system è configurata per la copia di un file.The Foreach loop uses the Foreach File enumerator, and the File System task is configured to copy a file. Se la cartella specificata dall'enumeratore contiene quattro file, il ciclo si ripeterà quattro volte e copierà quattro file.If the folder that the enumerator specifies contains four files, the loop repeats four times and copies four files.

    Un contenitore ciclo Foreach che enumera una cartellaA Foreach Loop container that enumerates a folder

    È possibile utilizzare una combinazione di variabili ed espressioni di proprietà per aggiornare la proprietà dell'oggetto pacchetto con il valore della raccolta dell'enumeratore.You can use a combination of variables and property expressions to update the property of the package object with the enumerator collection value. È innanzitutto necessario eseguire il mapping del valore della raccolta a una variabile definita dall'utente e quindi implementare un'espressione di proprietà sulla proprietà che utilizza la variabile.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. Si supponga, ad esempio, che venga eseguito il mapping del valore della raccolta dell'enumeratore Foreach File a una variabile di nome MyFile e che la variabile venga usata nell'espressione di proprietà per la proprietà Oggetto di un'attività Invia messaggi.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. Quando il pacchetto viene eseguito, la proprietà Oggetto viene aggiornata con il nome di un file ogni volta che il ciclo si ripete.When the package runs, the Subject property is updated with the name of a file each time that the loop repeats. Per altre informazioni, vedere Utilizzo delle espressioni di proprietà nei pacchetti.For more information, see Use Property Expressions in Packages.

    Le variabili sulle quali viene eseguito il mapping al valore della raccolta dell'enumeratore possono essere utilizzate anche in espressioni e script.Variables that are mapped to the enumerator collection value can also be used in expressions and scripts.

    Un contenitore Ciclo Foreach può includere più attività e contenitori, ma può utilizzare un solo tipo di enumeratore.A Foreach Loop container can include multiple tasks and containers, but it can use only one type of enumerator. Se il contenitore Ciclo Foreach include più attività, sarà possibile eseguire il mapping il valore della raccolta dell'enumeratore a più proprietà di ogni attività.If the Foreach Loop container includes multiple tasks, you can map the enumerator collection value to multiple properties of each task.

    È possibile impostare un attributo di transazione per ogni contenitore Ciclo Foreach per definire una transazione per un subset del flusso di controllo del pacchetto.You can set a transaction attribute on the Foreach Loop container to define a transaction for a subset of the package control flow. In questo modo è possibile gestire le transazioni a livello di ciclo Foreach, anziché a livello di pacchetto.In this way, you can manage transactions at the level of the Foreach Loop instead of the package level. Se ad esempio un contenitore Ciclo Foreach ripete un flusso di controllo che aggiorna le tabelle delle dimensioni e dei fatti in uno schema star, sarà possibile configurare una transazione per garantire che vengano aggiornate tutte le tabelle dei fatti oppure nessuna.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. Per altre informazioni, vedere Transazioni di Integration Services.For more information, see Integration Services Transactions.

Tipi di enumeratoriEnumerator Types

Gli enumeratori sono configurabili ed è necessario specificare informazioni diverse a seconda dell'enumeratore.Enumerators are configurable, and you must provide different information, depending on the enumerator.

Nella tabella seguente vengono riepilogate le informazioni richieste da ogni tipo di enumeratore.The following table summarizes the information each enumerator type requires.

EnumeratoreEnumerator Requisiti di configurazioneConfiguration requirements
Foreach ADOForeach ADO Specificare la variabile di origine dell'oggetto ADO e la modalità dell'enumeratore.Specify the ADO object source variable and the enumerator mode. Il tipo di dati della variabile deve essere Object.The variable must be of Object data type.
Foreach ADO.NET Schema RowsetForeach ADO.NET Schema Rowset Specificare la connessione a un database e lo schema da enumerare.Specify the connection to a database and the schema to enumerate.
Foreach FileForeach File Specificare una cartella, i file da enumerare e il formato del nome dei file recuperati e indicare se includere le sottocartelle nell'enumerazione.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 Specificare la variabile che contiene gli oggetti da enumerare.Specify the variable that contains the objects to enumerate.
Foreach ItemForeach Item Definire gli elementi nella raccolta di Foreach Item Enumerator, comprese le colonne e i tipi di dati delle colonne.Define the items in the Foreach Item collection, including columns and column data types.
Foreach NodelistForeach Nodelist Specificare l'origine del documento XML e configurare l'operazione XPath.Specify the source of the XML document and configure the XPath operation.
Foreach SMOForeach SMO Specificare una connessione a un database e gli oggetti SMO da enumerare.Specify the connection to a database and the SMO objects to enumerate.
Foreach HDFS File EnumeratorForeach HDFS File Enumerator Specificare una cartella, i file da enumerare e il formato del nome dei file recuperati e indicare se includere le sottocartelle nell'enumerazione.Specify a folder and the files to enumerate, the format of the file name of the retrieved files, and whether to traverse subfolders.
Blob di Azure ForeachForeach Azure Blob Specificare il contenitore BLOB di Azure che contiene i BLOB da enumerare.Specify the Azure blob container that containers blobs to be enumerated.
File di ADLS foreachForeach ADLS File Specificare la directory di archivio Azure Data Lake che contiene i file da enumerare.Specify the Azure Data Lake Store directory that contains the files to be enumerated.

Aggiunta di un'enumerazione a un flusso di controllo con un contenitore ciclo ForeachAdd enumeration to a control flow with a Foreach Loop container

Integration ServicesIntegration Servicesinclude il contenitore ciclo Foreach, un elemento del flusso di controllo che rende più semplice per includere un costrutto di ciclo che enumera i file e gli oggetti nel flusso di controllo di un pacchetto. 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. Per altre informazioni, vedere Contenitore Ciclo Foreach.For more information, see Foreach Loop Container.

Il contenitore Ciclo Foreach non offre funzionalità, ma solo una struttura in cui è possibile compilare un flusso di controllo ripetibile, nonché specificare e configurare un tipo di enumeratore.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. Per aggiungere funzionalità al contenitore Ciclo Foreach è necessario includervi almeno un'attività.To provide container functionality, you must include at least one task in the Foreach Loop container. Per altre informazioni, vedere Attività di Integration Services.For more information, see Integration Services Tasks.

Il contenitore Ciclo Foreach può includere un flusso di controllo con più attività e può includere altri contenitori.The Foreach Loop container can include a control flow with multiple tasks and other containers. L'aggiunta di attività e contenitori a un contenitore Ciclo Foreach è analoga all'aggiunta di tali elementi a un pacchetto, con la differenza che è necessario trascinare attività e contenitori nel contenitore Ciclo Foreach anziché nel pacchetto.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. Se il contenitore Ciclo Foreach include più di un contenitore o attività, sarà possibile connettere tali elementi utilizzando vincoli di precedenza, come avviene nei pacchetti.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. Per altre informazioni, vedere Vincoli di precedenza.For more information, see Precedence Constraints.

Aggiungere e configurare un contenitore ciclo ForeachAdd and configure a Foreach Loop container

  1. Aggiungere il contenitore Ciclo Foreach al pacchetto.Add the Foreach Loop container to the package. Per altre informazioni, vedere Aggiunta o eliminazione di un'attività o un contenitore in un flusso di controllo.For more information, see Add or Delete a Task or a Container in a Control Flow.

  2. Aggiungere attività e contenitori al contenitore Ciclo Foreach.Add tasks and containers to the Foreach Loop container. Per altre informazioni, vedere Aggiunta o eliminazione di un'attività o un contenitore in un flusso di controllo.For more information, see Add or Delete a Task or a Container in a Control Flow.

  3. Connettere le attività e i contenitori inclusi nel contenitore Ciclo Foreach tramite vincoli di precedenza.Connect tasks and containers in the Foreach Loop container using precedence constraints. Per altre informazioni, vedere Connessione di attività e contenitori tramite un vincolo di precedenza predefinito.For more information, see Connect Tasks and Containers by Using a Default Precedence Constraint.

  4. Configurare il contenitore Ciclo Foreach.Configure the Foreach Loop container. Per altre informazioni, vedere Configurazione di un contenitore Ciclo Foreach.For more information, see Configure a Foreach Loop Container.

Configurazione di un contenitore Ciclo ForeachConfigure a Foreach Loop Container

Questa procedura descrive la configurazione di un contenitore Ciclo Foreach, incluse le espressioni di proprietà a livello di enumeratore e contenitore.This procedure describes how to configure a Foreach Loop container, including property expressions at the enumerator and container levels.

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto desiderato.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. Fare clic sulla scheda Flusso di controllo e quindi fare doppio clic su Ciclo Foreach.Click the Control Flow tab and double-click the Foreach Loop.

  3. Nella finestra di dialogo Editor ciclo Foreach fare clic su Generale e, facoltativamente, modificare il nome e la descrizione del ciclo Foreach.In the Foreach Loop Editor dialog box, click General and, optionally, modify the name and description of the Foreach Loop.

  4. Fare clic su Raccolta e selezionare un tipo di enumeratore nell'elenco Enumeratore .Click Collection and select an enumerator type from the Enumerator list.

  5. Specificare un enumeratore e impostarne le opzioni nel modo seguente:Specify an enumerator and set enumerator options as follows:

    • Per utilizzare Foreach File enumerator, specificare la cartella che contiene i file da enumerare, specificare un filtro per il nome del file e il tipo e specificare se il nome file completo deve essere restituito.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. Indicare inoltre se ricercare ulteriori file nelle sottocartelle.Also, indicate whether to recurse through subfolders for more files.

    • Per usare l'enumeratore Foreach Item, fare clic su Colonnee, nella finestra di dialogo Colonne For Each Item , fare clic su Aggiungi per aggiungere le colonne.To use the Foreach Item enumerator, click Columns, and, in the For Each Item Columns dialog box, click Add to add columns. Selezionare un tipo di dati nell'elenco Tipo di dati per ogni colonna e quindi fare clic su OK.Select a data type in the Data Type list for each column, and click OK.

      Digitare i valori nelle colonne oppure selezionarli dagli elenchi.Type values in the columns or select values from lists.

      Nota

      Per aggiungere una nuova riga, fare clic in un punto qualsiasi al di fuori della cella in cui si è digitato.To add a new row, click anywhere outside the cell in which you typed.

      Nota

      Se un valore non è compatibile con il tipo di dati della colonna, il testo viene evidenziato.If a value is not compatible with the column data type, the text is highlighted.

    • Per usare l'enumeratore Foreach ADO, selezionare una variabile esistente oppure fare clic su Nuova variabile nell'elenco Variabile di origine oggetto ADO per specificare la variabile in cui è contenuto il nome dell'oggetto ADO da enumerare e selezionare l'opzione corrispondente alla modalità di enumerazione.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.

      Se si crea una nuova variabile, impostarne le proprietà nella finestra di dialogo Aggiungi variabile .If creating a new variable, set the variable properties in the Add Variable dialog box.

    • Per usare l'enumeratore Foreach ADO.NET set di righe dello schema, selezionare un connettore ADO.NET esistente oppure fare clic su Nuova connessione nell'elenco Connessione e quindi selezionare uno schema.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.

      Facoltativamente, fare clic su Imposta restrizioni e selezionare le restrizioni dello schema, selezionare la variabile che contiene il valore della restrizione oppure digitare il valore della restrizione e fare clic su OK.Optionally, click Set Restrictions and select schema restrictions, select the variable that contains the restriction value or type the restriction value, and click OK.

    • Per usare l'enumeratore Foreach da variabile, selezionare una variabile nell'elenco Variabile .To use the Foreach From Variable enumerator, select a variable in the Variable list.

    • Per usare l'enumeratore Foreach NodeList, fare clic su DocumentSourceType e selezionare il tipo di origine nell'elenco, quindi fare clic su DocumentSource.To use the Foreach NodeList enumerator, click DocumentSourceType and select the source type from the list, and then click DocumentSource. A seconda del valore selezionato per DocumentSourceType, selezionare una variabile o una connessione file nell'elenco, creare una nuova variabile o connessione file oppure specificare l'origine XML in Editor origine documento.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.

      Fare quindi clic su EnumerationType e selezionare un tipo di enumeratore nell'elenco.Next, click EnumerationType and select an enumeration type from the list. Se è EnumerationType è Navigator, Node o NodeText, fare clic su OuterXPathStringSourceType e selezionare il tipo di origine, quindi fare clic su OuterXPathString.If EnumerationType is Navigator, Node, or NodeText, click OuterXPathStringSourceType and select the source type, and then click OuterXPathString. A seconda del valore impostato per OuterXPathStringSourceType, selezionare una variabile o una connessione file nell'elenco, creare una nuova variabile o connessione file oppure digitare la stringa per l'espressione XPath (XML Path Language) esterna.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.

      Se è EnumerationType ElementCollection, impostare OuterXPathStringSourceType e OuterXPathString come descritto in precedenza.If EnumerationType is ElementCollection, set OuterXPathStringSourceType and OuterXPathString as described above. Fare quindi clic su InnerElementType, selezionare un tipo di enumerazione per gli elementi interni e quindi fare clic su InnerXPathStringSourceType.Then, click InnerElementType and select an enumeration type for the inner elements, and then click InnerXPathStringSourceType. A seconda del valore impostato per InnerXPathStringSourceType, selezionare una variabile o una connessione file, creare una nuova variabile o connessione file oppure digitare la stringa per l'espressione XPath interna.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.

    • Per usare l'enumeratore Foreach SMO, selezionare una connessione ADO.NET esistente oppure fare clic su Nuova connessione nell'elenco Connessione e quindi digitare la stringa da usare oppure fare clic su Sfoglia.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. Se si fa clic su Sfoglia, nella finestra di dialogo Seleziona enumerazione SMO selezionare il tipo di oggetto da enumerare e il tipo di enumerazione e quindi fare clic su OK.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. Facoltativamente, fare clic sul pulsante Sfoglia (…) nella casella di testo Espressioni della pagina Raccolta per creare le espressioni che aggiornano i valori delle proprietà.Optionally, click the browse button (…) in the Expressions text box on the Collection page to create expressions that update property values. Per altre informazioni, vedere Aggiunta o modifica di un'espressione di proprietà.For more information, see Add or Change a Property Expression.

    Nota

    Le proprietà elencate nella proprietà elenco diverso dall'enumeratore.The properties listed in the Property list vary by enumerator.

  7. Facoltativamente, fare clic su mapping variabili per eseguire il mapping di proprietà dell'oggetto al valore della raccolta e quindi eseguire le operazioni seguenti:Optionally, click Variable Mappings to map object properties to the collection value, and then do the following things:

    1. Nel variabili elenco, selezionare una variabile oppure fare clic su <nuova variabile > per creare una nuova variabile.In the Variables list, select a variable or click <New Variable> to create a new variable.

    2. Se si aggiunge una nuova variabile, impostarne le proprietà nella finestra di dialogo Aggiungi variabile e fare clic su OK.If you add a new variable, set the variable properties in the Add Variable dialog box and click OK.

    3. Se si usa l'enumeratore For Each Item, è possibile aggiornare il valore dell'indice nell'elenco Indice .If you use the For Each Item enumerator, you can update the index value in the Index list.

      Nota

      Il valore dell'indice indica la colonna dell'elemento su cui eseguire il mapping alla variabile.The index value indicates which column in the item to map to the variable. Solo l'enumeratore For Each Item può utilizzare un valore di indice diverso da 0.Only the For Each Item enumerator can use an index value other than 0.

  8. Facoltativamente, fare clic su Espressioni e, nella pagina Espressioni , creare espressioni di proprietà per le proprietà del contenitore Ciclo Foreach.Optionally, click Expressions and, on the Expressions page, create property expressions for the properties of the Foreach Loop container. Per altre informazioni, vedere Aggiungere o modificare un'espressione di proprietà.For more information, see Add or Change a Property Expression.

  9. Scegliere OK.Click OK.

Pagina generale - Editor ciclo ForeachGeneral Page - Foreach Loop Editor

Utilizzare la pagina Generale della finestra di dialogo Editor ciclo Foreach per assegnare un nome e una descrizione al contenitore Ciclo Foreach che utilizza un enumeratore specificato per ripetere un flusso di lavoro per ogni membro di una raccolta.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.

Per informazioni sul contenitore Ciclo Foreach e su come configurarlo, vedere Contenitore Ciclo Foreach e Configurazione di un contenitore Ciclo Foreach.To learn about the Foreach Loop container and how to configure it, see Foreach Loop Container and Configure a Foreach Loop Container.

OpzioniOptions

NomeName
Consente di digitare un nome univoco per il contenitore Ciclo Foreach.Provide a unique name for the Foreach Loop container. Tale nome viene utilizzato come etichetta nell'icona dell'attività e nei log.This name is used as the label in the task icon and in the logs.

Nota

I nomi degli oggetti devono essere univoci all'interno di un pacchetto.Object names must be unique within a package.

DescriptionDescription
Consente di digitare una descrizione del contenitore Ciclo Foreach.Type a description of the Foreach Loop container.

Pagina Raccolta - Editor ciclo ForeachCollection Page - Foreach Loop Editor

Utilizzare il raccolta pagina del Editor ciclo Foreach la finestra di dialogo per specificare il tipo di enumeratore e configurare l'enumeratore.Use the Collection page of the Foreach Loop Editor dialog box to specify the enumerator type and configure the enumerator.

Per informazioni sul contenitore Ciclo Foreach e su come configurarlo, vedere Contenitore Ciclo Foreach e Configurazione di un contenitore Ciclo Foreach.To learn about the Foreach Loop container and how to configure it, see Foreach Loop Container and Configure a Foreach Loop Container.

Opzioni staticheStatic Options

EnumeratoreEnumerator
Consente di selezionare il tipo di enumeratore nell'elenco.Select the enumerator type from the list. Per questa proprietà sono disponibili le opzioni elencate nella tabella seguente:This property has the options listed in the following table:

ValoreValue DescriptionDescription
Foreach File EnumeratorForeach File Enumerator Consente di enumerare i file.Enumerate files. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach File Enumerator.Selecting this value displays the dynamic options in the section, Foreach File Enumerator.
Foreach Item EnumeratorForeach Item Enumerator Consente di enumerare i valori in un elemento.Enumerate values in an item. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach File Enumerator.Selecting this value displays the dynamic options in the section, Foreach Item Enumerator.
Foreach ADO EnumeratorForeach ADO Enumerator Consente di enumerare tabelle o righe nelle tabelle.Enumerate tables or rows in tables. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach ADO Enumerator.Selecting this value displays the dynamic options in the section, Foreach ADO Enumerator.
Foreach ADO.NET Schema Rowset EnumeratorForeach ADO.NET Schema Rowset Enumerator Consente di enumerare uno schema.Enumerate a schema. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach ADO.NET Enumerator.Selecting this value displays the dynamic options in the section, Foreach ADO.NET Enumerator.
Enumeratore foreach da variabileForeach From Variable Enumerator Consente di enumerare il valore in una variabile.Enumerate the value in a variable. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach From Variable Enumerator.Selecting this value displays the dynamic options in the section, Foreach From Variable Enumerator.
Enumeratore foreach NodelistForeach Nodelist Enumerator Consente di enumerare i nodi in un documento XML.Enumerate nodes in an XML document. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach File Enumerator.Selecting this value displays the dynamic options in the section, Foreach Nodelist Enumerator.
Foreach SMO EnumeratorForeach SMO Enumerator Consente di enumerare un oggetto SMO.Enumerate a SMO object. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach SMO Enumerator.Selecting this value displays the dynamic options in the section, Foreach SMO Enumerator.
Foreach HDFS File EnumeratorForeach HDFS File Enumerator Enumerare i file HDFS nel percorso HDFS specificato.Enumerate HDFS files in the specified HDFS location. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach HDFS File Enumerator.Selecting this value displays the dynamic options in the section, Foreach HDFS File Enumerator.
Enumeratore Blob di Azure foreachForeach Azure Blob Enumerator Enumerare i file BLOB nel percorso BLOB specificato.Enumerate blob files in the specified blob location. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach Azure Blob Enumerator.Selecting this value displays the dynamic options in the section, Foreach Azure Blob Enumerator.
ADLS foreach File EnumeratorForeach ADLS File Enumerator Enumerare i file nella directory di archivio Data Lake specificato.Enumerate files in the specified Data Lake Store directory. Selezionando questo valore consente di visualizzare le opzioni dinamiche nella sezione ADLS di Foreach File Enumerator.Selecting this value displays the dynamic options in the section, Foreach ADLS File Enumerator.

EspressioniExpressions
Fare clic su Espressioni o espandere questa voce per visualizzare l'elenco delle espressioni di proprietà esistenti.Click or expand Expressions to view the list of existing property expressions. Fare clic sul pulsante con i puntini di sospensione (…) per aggiungere un'espressione di proprietà per una proprietà dell'enumeratore oppure per modificare o valutare un'espressione di proprietà esistente.Click the ellipsis button (…) to add a property expression for an enumerator property, or edit and evaluate an existing property expression.

Argomenti correlati: Espressioni di Integration Services (SSIS), Editor espressioni di proprietà, Generatore di espressioniRelated Topics: Integration Services (SSIS) Expressions, Property Expressions Editor, Expression Builder

Opzioni dinamiche relative all'enumeratoreEnumerator Dynamic Options

Enumeratore = Foreach File EnumeratorEnumerator = Foreach File Enumerator

Foreach File Enumerator consente di enumerare i file contenuti in una cartella.You use the Foreach File enumerator to enumerate files in a folder. Se il Ciclo Foreach include ad esempio un'attività Esegui SQL, è possibile utilizzare Foreach File Enumerator per enumerare i file che contengono le istruzioni SQL che sono eseguite dall'attività Esegui 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. È possibile configurare l'enumeratore in modo da includere le sottocartelle.The enumerator can be configured to include subfolders.

Il contenuto delle cartelle e delle sottocartelle che sono enumerate da Foreach File Enumerator potrebbe cambiare durante l'esecuzione del ciclo, in quanto in questa fase le attività o i processi esterni nel ciclo possono aggiungere, rinominare o eliminare 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. Queste modifiche possono generare un numero di situazioni impreviste:These changes may cause a number of unexpected situations:

  • Se i file vengono eliminati, le azioni di un'attività nel ciclo Foreach influisca su un set diverso di file diverso dai file utilizzati dalle attività successive.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.

  • Se i file vengono rinominati e un processo esterno aggiunge automaticamente altri file per sostituire quelli rinominati, le azioni di attività nel ciclo Foreach possono influire sugli stessi file due volte.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.

  • Se i file vengono aggiunti, potrebbe essere difficile determinare per il quale il ciclo Foreach file interessati.If files are added, it may be difficult to determine for which files the Foreach Loop affected.

    CartellaFolder
    Consente di specificare il percorso della cartella radice da enumerare.Provide the path of the root folder to enumerate.

    SfogliaBrowse
    Consente di individuare la cartella radice.Browse to locate the root folder.

    FileFiles
    Consente di specificare i file da enumerare.Specify the files to enumerate.

Nota

Utilizzare i caratteri jolly () per specificare i file da includere nella raccolta.Use wildcard characters () to specify the files to include in the collection. Ad esempio, per includere file con nomi che contengono "abc", usare il filtro seguente: *abc*.For example, to include files with names that contain “abc”, use the following filter: *abc*.

Quando si specifica un'estensione per il nome di file, l'enumeratore restituisce anche i file che presentano la stessa estensione con altri caratteri aggiunti.When you specify a file name extension, the enumerator also returns files that have the same extension with additional characters appended. Si tratta dello stesso comportamento del comando dir del sistema operativo, che prevede anch'esso il confronto dei nomi di file 8.3 per la compatibilità con le versioni precedenti. Questo comportamento dell'enumeratore può provocare risultati imprevisti.(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. Se, ad esempio, si desidera enumerare solo file di Excel 2003 e si specifica "* .xls",For example, you want to enumerate only Excel 2003 files, and you specify "*.xls". Tuttavia, l'enumeratore restituisce anche file di Excel 2007 perché questi file presentano l'estensione ". xlsx".However, the enumerator also returns Excel 2007 files because those files have the extension, ".xlsx".

È possibile usare un'espressione per specificare i file da includere in una raccolta, espandendo Espressioni nella pagina Raccolta , selezionando la proprietà FileSpec e facendo clic sul pulsante con i puntini di sospensione (...) per aggiungere l'espressione di proprietà.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.

Nome completoFully qualified
Selezionare questa opzione per recuperare il percorso completo dei nomi di file.Select to retrieve the fully qualified path of file names. Se nell'opzione file si specificano caratteri jolly, i percorsi completi restituiti corrisponderanno al filtro.If wildcard characters are specified in the Files option, then the fully qualified paths that are returned match the filter.

Solo nomeName only
Selezionare questa opzione per recuperare solo i nomi di file.Select to retrieve only the file names. Se nell'opzione File si specificano caratteri jolly, i nomi di file restituiti corrisponderanno al filtro.If wildcard characters are specified in the Files option, then the file names returned match the filter.

Nome e l'estensioneName and extension
Selezionare questa opzione per recuperare i nomi di file e le estensioni corrispondenti.Select to retrieve the file names and their file name extensions. Se nell'opzione File si specificano caratteri jolly, il nome e l'estensione dei file restituiti corrisponderanno al filtro.If wildcard characters are specified in the Files option, then the name and extension of files returned match the filter.

Attraversa sottocartelleTraverse Subfolders
Selezionare questa opzione per includere le sottocartelle nell'enumerazione.Select to include the subfolders in the enumeration.

Enumeratore = Foreach Item EnumeratorEnumerator = Foreach Item Enumerator

Foreach Item Enumerator consente di enumerare gli elementi contenuti in una raccolta.You use the Foreach Item enumerator to enumerate items in a collection. È possibile definire gli elementi nella raccolta specificando le colonne e i valori delle colonneYou define the items in the collection by specifying columns and column values. Le colonne in una riga definiscono un elemento.The columns in a row define an item. Avrà ad esempio due colonne un elemento che specifica gli eseguibili eseguiti da un'attività Esegui processo e la directory di lavoro utilizzata dall'attività: in una colonna saranno elencati i nomi degli eseguibili e nell'altra la directory di lavoro.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. Il numero di righe determina il numero di volte che il ciclo viene ripetuto.The number of rows determines the number of times that the loop is repeated. Se la tabella ha 10 righe, il ciclo si ripete 10 volte.If the table has 10 rows, the loop repeats 10 times.

Per aggiornare le proprietà dell'attività Esegui processo, è possibile eseguire il mapping delle variabili alle colonne dell'elemento utilizzando l'indice della colonna.To update the properties of the Execute Process task, you map variables to item columns by using the index of the column. La prima colonna definita nell'elemento dell'enumeratore ha il valore indice 0, la seconda colonna 1 e così via.The first column defined in the enumerator item has the index value 0, the second column 1, and so on. I valori variabili sono aggiornati ad ogni ripetizione del ciclo.The variable values are updated with each repeat of the loop. Le proprietà Executable e WorkingDirectory dell'attività Esegui processo possono essere quindi aggiornate da espressioni di proprietà che utilizzano queste variabili.The Executable and WorkingDirectory properties of the Execute Process task can then be updated by property expressions that use these variables.

Definire gli elementi nella raccolta For Each ItemDefine the items in the For Each Item collection
Consente di specificare un valore per ogni colonna della tabella.Provide a value for each column in the table.

Nota

Dopo avere immesso i valori nelle colonne della riga, alla tabella viene aggiunta automaticamente una nuova riga.A new row is automatically added to the table after you enter values in row columns.

Nota

Se i valori specificati non sono compatibili con il tipo di dati della colonna, il testo viene visualizzato in rosso.If the values provided are not compatible with the column data type, the text is colored red.

Tipo di dati colonnaColumn data type
Elenca il tipo di dati della colonna attiva.Lists the data type of the active column.

RimuoviRemove
Selezionare un elemento e quindi fare clic su Rimuovi per rimuoverlo dall'elenco.Select an item, and then click Remove to remove it from the list.

ColonneColumns
Fare clic su questo pulsante per configurare il tipo di dati delle colonne nell'elemento.Click to configure the data type of the columns in the item.

Argomenti correlati Riferimento all'interfaccia utente della finestra di dialogo Colonne For Each ItemRelated Topics: For Each Item Columns Dialog Box UI Reference

Enumeratore = Foreach ADO EnumeratorEnumerator = Foreach ADO Enumerator

Foreach ADO Enumerator consente di enumerare le righe o le tabelle in un oggetto ADO o ADO.NET archiviato in una variabile.You use the Foreach ADO enumerator to enumerate rows or tables in an ADO or ADO.NET object that is stored in a variable. Se il Ciclo Foreach include ad esempio un'attività Script che scrive un set di dati in una variabile, è possibile utilizzare Foreach ADO Enumerator per enumerare le righe nel set di dati.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. Se la variabile contiene un set di dati ADO.NET, è possibile configurare l'enumeratore in modo da enumerare le righe in più tabelle o in modo da enumerare le tabelle.If the variable contains an ADO.NET dataset, the enumerator can be configured to enumerate rows in multiple tables or to enumerate tables.

Variabile di origine oggetto ADOADO object source variable
Selezionare una variabile definita dall'utente nell'elenco oppure fare clic su < nuova variabile... > per creare una nuova variabile.Select a user-defined variable in the list, or click <New variable...> to create a new variable.

Nota

Il tipo di dati della variabile deve essere Oggetto. In caso contrario si verificherà un errore.The variable must have the Object data type, otherwise an error occurs.

Argomenti correlati: Variabili di Integration Services (SSIS), Aggiungi variabileRelated Topics: Integration Services (SSIS) Variables, Add Variable

Righe nella prima tabellaRows in first table
Selezionare questa opzione per enumerare solo le righe nella prima tabella.Select to enumerate only rows in the first table.

Righe in tutte le tabelle (solo set di dati ADO.NET)Rows in all tables (ADO.NET dataset only)
Selezionare questa opzione per enumerare le righe in tutte le tabelle.Select to enumerate rows in all tables. Questa opzione è disponibile solo se gli oggetti da enumerare sono tutti membri dello stesso set di dati ADO.NET.This option is available only if the objects to enumerate are all members of the same ADO.NET dataset.

Tutte le tabelle (solo set di dati ADO.NET)All tables (ADO.NET dataset only)
Selezionare questa opzione per enumerare solo le tabelle.Select to enumerate tables only.

Enumeratore = Foreach ADO.NET Schema Rowset EnumeratorEnumerator = Foreach ADO.NET Schema Rowset Enumerator

Foreach ADO.NET Schema Rowset Enumerator consente di enumerare uno schema per un'origine dei dati specificata.You use the Foreach ADO.NET Schema Rowset enumerator to enumerate a schema for a specified data source. Se il Ciclo Foreach include ad esempio un'attività Esegui SQL, è possibile utilizzare Foreach ADO.NET Schema Rowset Enumerator per enumerare gli schemi, ad esempio le colonne nel database AdventureWorks , e utilizzare l'attività Esegui SQL per ottenere le autorizzazioni dello schema.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.

ConnessioneConnection
Selezionare una gestione connessione ADO.NET nell'elenco oppure fare clic su < nuova connessione... > per creare una nuova connessione ADO.NET di gestione.Select an ADO.NET connection manager in the list, or click <New connection...> to create a new ADO.NET connection manager.

Importante

La gestione connessione ADO.NET deve utilizzare necessariamente un provider .NET per OLE DB.The ADO.NET connection manager must use a .NET provider for OLE DB. In caso di connessione a SQL Server, il provider consigliato è SQL ServerSQL Server Native Client, incluso nell'elenco della sezione Provider .Net per OleDb nella finestra di dialogo Gestione connessione .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.

Argomenti correlati ADO Connection Manager, Configure ADO.NET Connection ManagerRelated Topics: ADO Connection Manager, Configure ADO.NET Connection Manager

SchemaSchema
Consente di selezionare lo schema da enumerare.Select the schema to enumerate.

Impostare le restrizioniSet Restrictions
Consente di impostare le restrizioni da applicare allo schema specificato.Set the restrictions to apply to the specified schema.

Argomenti correlati Finestra di dialogo Restrizioni schemaRelated Topics: Schema Restrictions Dialog Box

Enumeratore = Foreach From Variable EnumeratorEnumerator = Foreach From Variable Enumerator

Foreach From Variable Enumerator consente di enumerare gli oggetti enumerabili nella variabile specificata.You use the Foreach From Variable enumerator to enumerate the enumerable objects in the specified variable. Se il Ciclo Foreach include ad esempio un'attività Esegui SQL che esegue una query e archivia il risultato in una variabile, è possibile utilizzare Foreach From Variable Enumerator per enumerare i risultati della query.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.

VariabileVariable
Selezionare una variabile nell'elenco oppure fare clic su < nuova variabile... > per creare una nuova variabile.Select a variable in the list, or click <New variable...> to create a new variable.

Argomenti correlati: Variabili di Integration Services (SSIS), Aggiungi variabileRelated Topics: Integration Services (SSIS) Variables, Add Variable

Enumeratore = Foreach NodeList EnumeratorEnumerator = Foreach NodeList Enumerator

Foreach Nodelist Enumerator consente di enumerare il set di nodi XML ottenuto dall'applicazione di un'espressione XPath a un file XML.You use the Foreach Nodelist enumerator to enumerate the set of XML nodes that results from applying an XPath expression to an XML file. Se il Ciclo Foreach include ad esempio un'attività Script, è possibile utilizzare Foreach NodeList Enumerator per passare un valore che risponda ai criteri dell'espressione XPath dal file XML all'attività Script.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.

L'espressione XPath che viene applicata al file XML è l'operazione XPath esterna, archiviata nella proprietà OuterXPathString.The XPath expression that applies to the XML file is the outer XPath operation, stored in the OuterXPathString property. Se il tipo di enumerazione XPath è impostato su ElementCollection, l'enumeratore Foreach NodeList può applicare un'espressione XPath interna, archiviata nella proprietà InnerXPathString, a una raccolta di elementi.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.

Per ulteriori informazioni sull'utilizzo di documenti e dati XML, vedere "Employing XML in the .NET Framework (utilizzo di XML in .NET Framework)" in MSDN Library.To learn more about working with XML documents and data, see "Employing XML in the .NET Framework" in the MSDN Library.

DocumentSourceTypeDocumentSourceType
Consente di selezionare il tipo di origine del documento XML.Select the source type of the XML document. Per questa proprietà sono disponibili le opzioni elencate nella tabella seguente:This property has the options listed in the following table:

ValoreValue DescriptionDescription
Input direttoDirect input Consente di impostare l'origine su un documento XML.Set the source to an XML document.
Connessione fileFile connection Consente di selezionare un file contenente il documento XML.Select a file that contains the XML document.
VariabileVariable Consente di impostare l'origine su una variabile contenente il documento XML.Set the source to a variable that contains the XML document.

DocumentSourceDocumentSource
Se la proprietà DocumentSourceType è impostata su Input diretto, indicare il codice XML oppure fare clic sul pulsante con i puntini di sospensione (…) per specificare il codice XML tramite la finestra di dialogo Editor origine documento.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.

Se DocumentSourceType è impostato su File connessione, selezionare una gestione connessione File oppure fare clic su < nuova connessione... > per creare una nuova gestione connessione.If DocumentSourceType is set to File connection, select a File connection manager, or click <New connection...> to create a new connection manager.

Argomenti correlati: File Connection Manager, File Connection Manager EditorRelated Topics: File Connection Manager, File Connection Manager Editor

Se DocumentSourceType è impostato su variabile, selezionare una variabile esistente oppure fare clic su < nuova variabile... > per creare una nuova variabile.If DocumentSourceType is set to Variable, select an existing variable, or click <New variable...> to create a new variable.

Argomenti correlati: Variabili di Integration Services (SSIS), Aggiungi variabile.Related Topics: Integration Services (SSIS) Variables, Add Variable.

EnumerationTypeEnumerationType
Consente di selezionare un tipo di enumeratore nell'elenco.Select an enumeration type from the list. Per questa proprietà sono disponibili le opzioni elencate nella tabella seguente:This property has the options listed in the following table:

ValoreValue DescriptionDescription
Strumento di navigazioneNavigator Consente di eseguire l'enumerazione utilizzando uno strumento di spostamento XPathNavigator.Enumerate using an XPathNavigator.
NodoNode Consente di enumerare i nodi restituiti da un'operazione XPath.Enumerate nodes returned by an XPath operation.
NodeTextNodeText Consente di enumerare i nodi di testo restituiti da un'operazione XPath.Enumerate text nodes returned by an XPath operation.
ElementCollectionElementCollection Consente di enumerare i nodi degli elementi restituiti da un'operazione XPath.Enumerates element nodes returned by an XPath operation.

OuterXPathStringSourceTypeOuterXPathStringSourceType
Consente di selezionare il tipo di origine della stringa XPath.Select the source type of the XPath string. Per questa proprietà sono disponibili le opzioni elencate nella tabella seguente:This property has the options listed in the following table:

ValoreValue DescriptionDescription
Input direttoDirect input Consente di impostare l'origine su un documento XML.Set the source to an XML document.
Connessione fileFile connection Consente di selezionare un file contenente il documento XML.Select a file that contains the XML document.
VariabileVariable Consente di impostare l'origine su una variabile contenente il documento XML.Set the source to a variable that contains the XML document.

OuterXPathStringOuterXPathString
Se la proprietà OuterXPathStringSourceType è impostata su Input diretto, indicare la stringa XPath.If OuterXPathStringSourceType is set to Direct input, provide the XPath string.

Se OuterXPathStringSourceType è impostato su File connessione, selezionare una gestione connessione File oppure fare clic su < nuova connessione... > per creare una nuova gestione connessione.If OuterXPathStringSourceType is set to File connection, select a File connection manager, or click <New connection...> to create a new connection manager.

Argomenti correlati: File Connection Manager, File Connection Manager EditorRelated Topics: File Connection Manager, File Connection Manager Editor

Se OuterXPathStringSourceType è impostato su variabile, selezionare una variabile esistente oppure fare clic su < nuova variabile... > per creare una nuova variabile.If OuterXPathStringSourceType is set to Variable, select an existing variable, or click <New variable...> to create a new variable.

Argomenti correlati: Variabili di Integration Services (SSIS), Aggiungi variabile.Related Topics: Integration Services (SSIS) Variables, Add Variable.

InnerElementTypeInnerElementType
Se la proprietà EnumerationType è impostata su ElementCollection, selezionare il tipo di elemento interno nell'elenco.If EnumerationType is set to ElementCollection, select the type of inner element in the list.

InnerXPathStringSourceTypeInnerXPathStringSourceType
Consente di selezionare il tipo di origine della stringa XPath interna.Select the source type of the inner XPath string. Per questa proprietà sono disponibili le opzioni elencate nella tabella seguente:This property has the options listed in the following table:

ValoreValue DescriptionDescription
Input direttoDirect input Consente di impostare l'origine su un documento XML.Set the source to an XML document.
Connessione fileFile connection Consente di selezionare un file contenente il documento XML.Select a file that contains the XML document.
VariabileVariable Consente di impostare l'origine su una variabile contenente il documento XML.Set the source to a variable that contains the XML document.

InnerXPathStringInnerXPathString
Se la proprietà InnerXPathStringSourceType è impostata su Input diretto, indicare la stringa XPath.If InnerXPathStringSourceType is set to Direct input, provide the XPath string.

Se InnerXPathStringSourceType è impostato su File connessione, selezionare una gestione connessione File oppure fare clic su < nuova connessione... > per creare una nuova gestione connessione.If InnerXPathStringSourceType is set to File connection, select a File connection manager, or click <New connection...> to create a new connection manager.

Argomenti correlati: File Connection Manager, File Connection Manager EditorRelated Topics: File Connection Manager, File Connection Manager Editor

Se InnerXPathStringSourceType è impostato su variabile, selezionare una variabile esistente oppure fare clic su < nuova variabile... > per creare una nuova variabile.If InnerXPathStringSourceType is set to Variable, select an existing variable, or click <New variable...> to create a new variable.

Argomenti correlati: Variabili di Integration Services (SSIS), Aggiungi variabile.Related Topics: Integration Services (SSIS) Variables, Add Variable.

Enumeratore = Foreach SMO EnumeratorEnumerator = Foreach SMO Enumerator

Foreach SMO Enumerator consente di enumerare gli oggetti SQL Server Management Objects (SMO).You use the Foreach SMO enumerator to enumerate SQL Server Management Object (SMO) objects. Ad esempio, se il ciclo Foreach include un'attività Esegui SQL, è possibile utilizzare Foreach SMO enumerator per enumerare le tabelle di AdventureWorks database ed eseguire query che contare il numero di righe in ogni tabella.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.

ConnessioneConnection
Selezionare una gestione connessione ADO.NET esistente oppure fare clic su < nuova connessione... > per creare una nuova gestione connessione.Select an existing ADO.NET connection manager, or click <New connection...> to create a new connection manager.

Argomenti correlati: ADO.NET Connection Manager, Configure ADO.NET Connection ManagerRelated Topics: ADO.NET Connection Manager, Configure ADO.NET Connection Manager

EnumerazioneEnumerate
Consente di specificare l'oggetto SMO da enumerare.Specify the SMO object to enumerate.

SfogliaBrowse
Consente di selezionare l'enumerazione SMO.Select the SMO enumeration.

Argomenti correlati: Finestra di dialogo Seleziona enumerazione SMORelated Topics: Select SMO Enumeration Dialog Box

Enumeratore = Foreach HDFS File Enumerator Enumerator = Foreach HDFS File Enumerator

Foreach HDFS File Enumerator consente a un pacchetto SSIS di enumerare i file HDFS nel percorso HDFS specificato.The Foreach HDFS File Enumerator enables an SSIS package to enumerate HDFS files in the specified HDFS location. Il nome di ogni file HDFS può essere archiviato in una variabile e usato nelle attività interne al contenitore Ciclo Foreach.The name of each HDFS file can be stored in a variable and used in tasks inside the Foreach Loop Container.

Gestione connessione HadoopHadoop Connection Manager
Specificare una gestione connessione Hadoop esistente o crearne una nuova, che fa riferimento alla posizione in cui sono ospitati i file HDFS.Specify an existing Hadoop Connection Manager or create a new one, which points to where the HDFS files are hosted. Per ulteriori informazioni, vedere Hadoop Connection Manager.For more info, see Hadoop Connection Manager.

Percorso della directoryDirectory Path
Specificare il nome della directory HDFS che contiene i file HDFS da enumerare.Specify the name of the HDFS directory that contains the HDFS files to be enumerated.

Filtro nome fileFile name filter
Specificare un filtro di nome per selezionare i file con un determinato modello di nome.Specify a name filter to select files with a certain name pattern. Ad esempio, Mysheet* include file quali MySheet001.xls e MySheetABC.xlsx.For example, MySheet*.xls* includes files such as MySheet001.xls and MySheetABC.xlsx.

Recupero nome fileRetrieve file name
Specificare il tipo di nome file recuperato da SSIS.Specify the file name type retrieved by SSIS.

  • Nome completo indica il nome completo, che contiene il nome di file e percorso di directory.Fully qualified name means the full name, which contains the directory path and file name.

  • Solo nome indica che viene recuperato il nome del file senza percorso.Name only means the file name is retrieved without the path.

    Attraversa sottocartelleTraverse subfolders
    Specificare se eseguire un ciclo in modo ricorsivo sulle sottocartelle.Specify whether to loop through subfolders recursively.

    Nella pagina Mapping variabili dell'editor selezionare o creare una variabile per archiviare il nome del file HDFS enumerato.On the Variable Mappings page of the editor, select or create a variable to store the name of the enumerated HDFS file.

Enumeratore = Foreach Azure Blob Enumerator Enumerator = Foreach Azure Blob Enumerator

Azure Blob Enumerator consente a un pacchetto SSIS di enumerare i file BLOB nel percorso BLOB specificato.The Azure Blob Enumerator enables an SSIS package to enumerate blob files in the specified blob location. È possibile archiviare il nome del file blob enumerato in una variabile e utilizzarlo nelle attività interne al contenitore ciclo 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 Enumerator è un componente del Feature Pack di SQL Server Integration Services (SSIS) per Azure per SQL Server 2016SQL Server 2016.The Azure Blob Enumerator is a component of the SQL Server Integration Services (SSIS) Feature Pack for Azure for SQL Server 2016SQL Server 2016. Scaricare il Feature Pack qui.Download the Feature Pack here.

Gestione connessione di archiviazione di AzureAzure storage connection manager
Selezionare una gestione connessione di archiviazione di Azure esistente o crearne una nuova che si riferisca a un Account di archiviazione Azure.Select an existing Azure Storage Connection Manager or create a new one that refers to an Azure Storage Account.

Argomenti correlati: Azure Storage Connection Manager.Related Topics: Azure Storage Connection Manager.

Nome del contenitore BLOBBlob container name
Specificare il nome del contenitore blob che contiene i file blob da enumerare.Specify the name of the blob container that contains the blob files to be enumerated.

Directory BLOBBlob directory
Specificare la directory blob che contiene i file blob da enumerare.Specify the blob directory that contains the blob files to be enumerated. La directory BLOB è una struttura gerarchica virtuale.The blob directory is a virtual hierarchical structure.

Filtro del nome BLOBBlob name filter
Specificare un filtro di nome per enumerare i file con un determinato modello di nome.Specify a name filter to enumerate files with a certain name pattern. Ad esempio, MySheet*.xls\* include file quali MySheet001.xls e MySheetABC.xlsx.For example, MySheet*.xls\* includes files such as MySheet001.xls and MySheetABC.xlsx.

Intervallo di tempo BLOB da/a filtroBlob time range from/to filter
Specificare un filtro di intervallo di tempo.Specify a time range filter. I file modificati dopo TimeRangeFrom e prima TimeRangeTo vengono enumerate.Files modified after TimeRangeFrom and before TimeRangeTo are enumerated.

Enumeratore = ADLS Foreach File Enumerator Enumerator = Foreach ADLS File Enumerator

Il ADLS File enumeratore consente a un pacchetto SSIS di enumerare i file di archivio Azure Data Lake.The ADLS File Enumerator enables an SSIS package to enumerate files in Azure Data Lake Store. È possibile archiviare il percorso completo del file enumerato (preceduto da una barra - /) in una variabile e usare il percorso del file nelle attività interne al contenitore ciclo 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
Specifica una gestione connessione di Azure Data Lake o crea una nuova istanza che fa riferimento a un account ADLS.Specifies an Azure Data Lake connection manager, or creates a new one that refers to an ADLS account.

AzureDataLakeDirectoryAzureDataLakeDirectory
Specifica la directory ADLS che contiene i file da enumerare.Specifies the ADLS directory that contains the files to be enumerated.

FileNamePatternFileNamePattern
Specifica un filtro di nome file.Specifies a file name filter. Vengono enumerati solo i file i cui nomi corrispondono al modello specificato.Only files whose names match the specified pattern are enumerated. I caratteri jolly * e ? sono supportati.The wildcards * and ? are supported.

SearchRecursivelySearchRecursively
Specifica se eseguire la ricerca in modo ricorsivo all'interno della directory specificata.Specifies whether to search recursively within the specified directory.

Pagina mapping variabili - Editor ciclo ForeachVariable Mappings Page - Foreach Loop Editor

Utilizzare la pagina Mapping variabili della finestra di dialogo Editor ciclo Foreach per eseguire il mapping delle variabili al valore della raccolta.Use the Variables Mappings page of the Foreach Loop Editor dialog box to map variables to the collection value. Il valore della variabile viene aggiornato con i valori della raccolta in ogni iterazione del ciclo.The value of the variable is updated with the collection values on each iteration of the loop.

Per ulteriori informazioni su come usare il contenitore ciclo Foreach in un pacchetto di Integration Services, vedere contenitore ciclo Foreach.To learn about how to use the Foreach Loop container in an Integration Services package, see Foreach Loop Container. Per informazioni su come configurarlo, vedere Configurazione di un contenitore Ciclo Foreach.To learn about how to configure it, see Configure a Foreach Loop Container.

Nell'esercitazione di MicrosoftMicrosoft SQL ServerSQL Server Integration ServicesIntegration Services per la creazione di un pacchetto ETL semplice è inclusa una lezione in cui vengono descritte le procedure di aggiunta e di configurazione di un ciclo 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.

OpzioniOptions

VariabileVariable
Selezionare una variabile esistente oppure fare clic su nuova variabile... per creare una nuova variabile.Select an existing variable, or click New variable... to create a new variable.

Nota

Dopo il mapping di una variabile, viene aggiunta automaticamente una nuova riga all'elenco Variabile.After you map a variable, a new row is automatically added to the Variable list.

Argomenti correlati: Variabili di Integration Services (SSIS), Aggiungi variabileRelated Topics: Integration Services (SSIS) Variables, Add Variable

IndexIndex
Se si utilizza l'enumeratore Foreach Item, specificare l'indice della colonna nel valore della raccolta di cui eseguire il mapping alla variabile.If using the Foreach Item enumerator, specify the index of the column in the collection value to map to the variable. Per altri tipi di enumeratore, l'indice è di sola lettura.For other enumerator types, the index is read-only.

Nota

L'indice è in base 0.The index is 0-based.

EliminaDelete
Selezionare una variabile e quindi fare clic su Elimina.Select a variable, and then click Delete.

Finestra di dialogo Restrizioni schema (ADO.NET)Schema Restrictions dialog box (ADO.NET)

Usare la finestra di dialogo Restrizioni schema per impostare le restrizioni dello schema da applicare all'enumeratore Foreach ADO.NET set di righe dello schema.Use the Schema Restrictions dialog box to set the schema restrictions to apply to the Foreach ADO.NET Schema Rowset enumerator.

OpzioniOptions

RestrizioniRestrictions
Consente di selezionare i vincoli da applicare allo schema.Select the constraints to apply to the schema.

VariabileVariable
Consente di utilizzare una variabile per definire le restrizioni.Use a variable to define restrictions. Selezionare una variabile nell'elenco oppure fare clic su Nuova variabile per crearne una nuova.Select a variable in the list, or click New variable... to create a new variable.

Argomenti correlati: Variabili di Integration Services (SSIS), Aggiungi variabileRelated Topics: Integration Services (SSIS) Variables , Add Variable

TextText
Consente di digitare il testo per definire le restrizioni.Provide the text to define restrictions.

Colonne For Each Item - finestra di dialogoFor Each Item Columns dialog box

Utilizzare la finestra di dialogo Colonne For Each Item per impostare le colonne negli elementi enumerati da Foreach Item Enumerator.Use the For Each Item Columns dialog box to define the columns in the items that the Foreach Item enumerator enumerates.

OpzioniOptions

ColonnaColumn
Consente di visualizzare l'elenco delle colonne.Lists the columns.

Tipo di datiData Type
Consente di selezionare il tipo di dati.Select the data type.

AggiungiAdd
Aggiungere una nuova colonna.Add a new column.

RimuoviRemove
Selezionare una colonna e quindi fare clic su Rimuovi.Select a column, and then click Remove.

Seleziona enumerazione SMO - finestra di dialogoSelect SMO Enumeration dialog box

Usare la finestra di dialogo Seleziona enumerazione SMO per specificare l'oggetto SMO ( SQL ServerSQL Server Management Objects) nell'istanza specificata di SQL ServerSQL Server di cui eseguire l'enumerazione e selezionare il tipo di enumerazione.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.

OpzioniOptions

EnumerazioneEnumerate
Consente di espandere il server e selezionare l'oggetto SMO.Expand the server and select the SMO object.

OggettiObjects
Consente di utilizzare il tipo di enumerazione Oggetti.Use the Objects enumeration type.

Popolamento preliminarePrepopulate
Consente di usare l'opzione Popolamento preliminare con il tipo di enumerazione Oggetti.Use the Prepopulate option with the Objects enumeration type.

NomiNames
Consente di utilizzare il tipo di enumerazione Nomi.Use the Names enumeration type.

UrnURNs
Consente di utilizzare il tipo di enumerazione URN.Use the URNs enumeration type.

PercorsiLocations
Consente di utilizzare il tipo di enumerazione Percorsi.Use the Locations enumeration type. Questa opzione è disponibile solo per i file.This option is available only for files.

Utilizzare le espressioni di proprietà con i contenitori ciclo ForeachUse property expressions with Foreach Loop containers

Un pacchetto può essere configurato in modo da eseguire più eseguibili contemporaneamente.Packages can be configured to concurrently run multiple executables. Questo tipo di configurazione deve essere tuttavia utilizzato con cautela, se il pacchetto include un contenitore Ciclo Foreach che implementa espressioni di proprietà.This configuration should be used with caution when the package includes a Foreach Loop container that implements property expressions.

È spesso utile implementare un'espressione di proprietà per impostare il valore della proprietà ConnectionString delle gestioni connessioni usate dagli enumeratori del ciclo Foreach.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. L'espressione di proprietà di ConnectionString viene impostata da una variabile della quale viene eseguito il mapping al valore della raccolta dell'enumeratore e che viene aggiornata a ogni iterazione del ciclo.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.

Per evitare le conseguenze negative della temporizzazione non deterministica dell'esecuzione parallela delle attività nel ciclo, è possibile configurare il pacchetto in modo da eseguire un solo eseguibile alla volta.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. Se ad esempio un pacchetto che può eseguire più attività contemporaneamente include un contenitore Ciclo Foreach che enumera i file in una cartella, recupera i nomi dei file e quindi utilizza un'attività Esegui SQL per inserire i nomi dei file in una tabella, quando due istanze dell'attività Esegui SQL tentano di scrivere contemporaneamente nella tabella potrebbero verificarsi conflitti di scrittura.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. Per altre informazioni, vedere Utilizzo delle espressioni di proprietà nei pacchetti.For more information, see Use Property Expressions in Packages.

Vedere ancheSee Also

Flusso di controllo Control Flow
Contenitori in Integration ServicesIntegration Services Containers