Editor ciclo Foreach (pagina Raccolta)
Utilizzare la pagina Raccolta della finestra di dialogo Editor ciclo Foreach per specificare il tipo di enumeratore e configurarlo.
Per ulteriori informazioni sul contenitore Ciclo Foreach e su come configurarlo, vedere Contenitore Ciclo Foreach e Procedura: Configurazione di un contenitore Ciclo Foreach.
Opzioni statiche
Enumeratore
Consente di selezionare il tipo di enumeratore nell'elenco. Per questa proprietà sono disponibili le opzioni elencate nella tabella seguente.Valore
Descrizione
Foreach File Enumerator
Consente di enumerare i file. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach File Enumerator.
Foreach Item Enumerator
Consente di enumerare i valori in un elemento. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach File Enumerator.
Foreach ADO Enumerator
Consente di enumerare tabelle o righe nelle tabelle. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach ADO Enumerator.
Foreach ADO.NET Schema Rowset Enumerator
Consente di enumerare uno schema. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach ADO.NET Enumerator.
Foreach From Variable Enumerator
Consente di enumerare il valore in una variabile. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach From Variable Enumerator.
Foreach Nodelist Enumerator
Consente di enumerare i nodi in un documento XML. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach File Enumerator.
Foreach SMO Enumerator
Consente di enumerare un oggetto SMO. La selezione di questo valore determina la visualizzazione delle opzioni dinamiche nella sezione Foreach SMO Enumerator.
Espressioni
Fare clic su Espressioni o espandere questa voce per visualizzare l'elenco delle espressioni di proprietà esistenti. 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.Argomenti correlati: Guida di riferimento alle espressioni in Integration Services, Editor espressioni di proprietà, Generatore di espressioni
Opzioni dinamiche relative all'enumeratore
Enumeratore = Foreach File Enumerator
Foreach File Enumerator consente di enumerare i file contenuti in una cartella. 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. È possibile configurare l'enumeratore in modo da includere le sottocartelle.
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. Di conseguenza potrebbe verificarsi una serie di situazioni impreviste:
Se i file vengono eliminati, un'attività nel Ciclo Foreach potrebbe operare su un set di file diverso dai file utilizzati dalle attività successive.
Se i file vengono rinominati e un processo esterno aggiunge automaticamente altri file per sostituire quelli rinominati, il Ciclo Foreach potrebbe operare due volte sullo stesso contenuto.
Se i file vengono aggiunti, potrebbe essere difficile determinare per quali file ha operato il Ciclo Foreach.
Cartella
Consente di specificare il percorso della cartella radice da enumerare.Esplora
Consente di individuare la cartella radice.File
Consente di specificare i file da enumerare.Nota
Utilizzare i caratteri jolly (*) per specificare i file da includere nella raccolta. Ad esempio, per includere file nei cui nomi siano contenuto "abc", utilizzare il filtro *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. Si tratta dello stesso comportamento di quello 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. Se, ad esempio, si desidera enumerare solo file di Excel 2003 e si specifica "* .xls", l'enumeratore restituirà anche i file di Excel 2007 perché presentano l'estensione ".xlsx".
È possibile utilizzare 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 della proprietà. Per ulteriori informazioni sulla selezione dinamica dei file specificati, vedere la pagina relativa all'impostazione dinamica di un filtro file in SSIS mediante FileSpec
Completo
Selezionare questa opzione per recuperare il percorso completo dei nomi di file. Se nell'opzione File si specificano caratteri jolly, i percorsi completi restituiti corrisponderanno al filtro.Solo nome
Selezionare questa opzione per recuperare solo i nomi di file. Se nell'opzione File si specificano caratteri jolly, i nomi di file restituiti corrisponderanno al filtro.Nome ed estensione
Selezionare questa opzione per recuperare i nomi di file e le estensioni corrispondenti. Se nell'opzione File si specificano caratteri jolly, il nome e l'estensione dei file restituiti corrisponderanno al filtro.Attraversa sottocartelle
Selezionare questa opzione per includere le sottocartelle nell'enumerazione.
Enumeratore = Foreach Item Enumerator
Foreach Item Enumerator consente di enumerare gli elementi contenuti in una raccolta. È possibile definire gli elementi nella raccolta specificando le colonne e i valori delle colonne Le colonne in una riga definiscono un elemento. 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. Il numero di righe determina il numero di volte che il ciclo viene ripetuto. Se la tabella ha 10 righe, il ciclo si ripete 10 volte.
Per aggiornare le proprietà dell'attività Esegui processo, è possibile mappare le variabili alle colonne dell'elemento utilizzando l'indice della colonna. La prima colonna definita nell'elemento dell'enumeratore ha il valore indice 0, la seconda colonna 1 e così via. I valori variabili sono aggiornati ad ogni ripetizione del ciclo. Le proprietà Executable e WorkingDirectory dell'attività Esegui processo possono essere quindi aggiornate da espressioni di proprietà che utilizzano queste variabili.
Definire gli elementi nella raccolta For Each Item
Consente di specificare un valore per ogni colonna della tabella.Nota
Dopo avere immesso i valori nelle colonne della riga, alla tabella viene aggiunta automaticamente una nuova riga.
Nota
Se i valori specificati non sono compatibili con il tipo di dati della colonna, il testo viene visualizzato in rosso.
Tipo di dati colonna
Elenca il tipo di dati della colonna attiva.Rimuovi
Selezionare un elemento e quindi fare clic su Rimuovi per rimuoverlo dall'elenco.Colonne
Fare clic su questo pulsante per configurare il tipo di dati delle colonne nell'elemento.Argomenti correlati:Colonne For Each Item.
Enumeratore = 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. 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. 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.
Variabile di origine oggetto ADO
Selezionare una variabile definita dall'utente nell'elenco oppure fare clic su <Nuova variabile…> per creare una nuova variabile.Nota
Il tipo di dati della variabile deve essere Oggetto. In caso contrario si verificherà un errore.
Argomenti correlati:Variabili in Integration Services, Aggiungi variabile.
Righe nella prima tabella
Selezionare questa opzione per enumerare solo le righe nella prima tabella.Righe in tutte le tabelle (solo set di dati ADO.NET)
Selezionare questa opzione per enumerare le righe in tutte le tabelle. Questa opzione è disponibile solo se gli oggetti da enumerare sono tutti membri dello stesso set di dati ADO.NET.Tutte le tabelle (solo set di dati ADO.NET)
Selezionare questa opzione per enumerare solo le tabelle.
Enumeratore = Foreach ADO.NET Schema Rowset Enumerator
Foreach ADO.NET Schema Rowset Enumerator consente di enumerare uno schema per un'origine dei dati specificata. 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 AdventureWorks2008R2, e utilizzare l'attività Esegui SQL per ottenere le autorizzazioni dello schema.
Connessione
Selezionare una gestione connessione ADO.NET nell'elenco oppure fare clic su <Nuova connessione...> per creare una nuova gestione connessione ADO.NET.Importante La gestione connessione ADO.NET deve utilizzare necessariamente un provider .NET per OLE DB. In caso di connessione a SQL Server, il provider consigliato è SQL Server Native Client, incluso nell'elenco della sezione Provider .Net per OleDb nella finestra di dialogo Gestione connessione.
Argomenti correlati:Gestione connessione ADO, Configura gestione connessione ADO.NET
Schema
Consente di selezionare lo schema da enumerare.Imposta restrizioni
Consente di impostare le restrizioni da applicare allo schema specificato.Argomenti correlati:Restrizioni schema.
Enumeratore = Foreach From Variable Enumerator
Foreach From Variable Enumerator consente di enumerare gli oggetti enumerabili nella variabile specificata. 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.
Variabile
Selezionare una variabile nell'elenco oppure fare clic su <Nuova variabile…> per creare una nuova variabile.Argomenti correlati:Variabili in Integration Services, Aggiungi variabile.
Enumeratore = 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. 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.
L'espressione XPath che viene applicata al file XML è l'operazione XPath esterna, che è archiviata nella proprietà OuterXPathString. Se il tipo di enumerazione XPath è impostato su ElementCollection, Foreach NodeList Enumerator può applicare un'espressione XPath interna, che è archiviata nella proprietà InnerXPathString, a un insieme di raccolte.
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.
DocumentSourceType
Consente di selezionare il tipo di origine del documento XML. Per questa proprietà sono disponibili le opzioni elencate nella tabella seguente.Valore
Descrizione
Input diretto
Consente di impostare l'origine su un documento XML.
Connessione file
Consente di selezionare un file contenente il documento XML.
Variabile
Consente di impostare l'origine su una variabile contenente il documento XML.
DocumentSource
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.Se la proprietà DocumentSourceType è impostata su Connessione file, selezionare una gestione connessione file oppure fare clic su <Nuova connessione...> per creare una nuova gestione connessione.
Argomenti correlati:Gestione connessione file, Editor gestione connessione file
Se la proprietà DocumentSourceType è impostata su Variabile, selezionare una variabile esistente oppure fare clic su <Nuova variabile...> per creare una nuova variabile.
Argomenti correlati:Variabili in Integration Services, Aggiungi variabile.
EnumerationType
Consente di selezionare un tipo di enumeratore nell'elenco. Per questa proprietà sono disponibili le opzioni elencate nella tabella seguente.Valore
Descrizione
Strumento di navigazione
Consente di eseguire l'enumerazione utilizzando uno strumento di spostamento XPathNavigator.
Nodo
Consente di enumerare i nodi restituiti da un'operazione XPath.
NodeText
Consente di enumerare i nodi di testo restituiti da un'operazione XPath.
ElementCollection
Consente di enumerare i nodi degli elementi restituiti da un'operazione XPath.
OuterXPathStringSourceType
Consente di selezionare il tipo di origine della stringa XPath. Per questa proprietà sono disponibili le opzioni elencate nella tabella seguente.Valore
Descrizione
Input diretto
Consente di impostare l'origine su un documento XML.
Connessione file
Consente di selezionare un file contenente il documento XML.
Variabile
Consente di impostare l'origine su una variabile contenente il documento XML.
OuterXPathString
Se la proprietà OuterXPathStringSourceType è impostata su Input diretto, indicare la stringa XPath.Se la proprietà OuterXPathStringSourceType è impostata su Connessione file, selezionare una gestione connessione file oppure fare clic su <Nuova connessione...> per creare una nuova gestione connessione.
Argomenti correlati:Gestione connessione file, Editor gestione connessione file
Se la proprietà OuterXPathStringSourceType è impostata su Variabile, selezionare una variabile esistente oppure fare clic su <Nuova variabile...> per creare una nuova variabile.
Argomenti correlati:Variabili in Integration Services, Aggiungi variabile.
InnerElementType
Se la proprietà EnumerationType è impostata su ElementCollection, selezionare il tipo di elemento interno nell'elenco.InnerXPathStringSourceType
Consente di selezionare il tipo di origine della stringa XPath interna. Per questa proprietà sono disponibili le opzioni elencate nella tabella seguente.Valore
Descrizione
Input diretto
Consente di impostare l'origine su un documento XML.
Connessione file
Consente di selezionare un file contenente il documento XML.
Variabile
Consente di impostare l'origine su una variabile contenente il documento XML.
InnerXPathString
Se la proprietà InnerXPathStringSourceType è impostata su Input diretto, indicare la stringa XPath.Se la proprietà InnerXPathStringSourceType è impostata su Connessione file, selezionare una gestione connessione file oppure fare clic su <Nuova connessione...> per creare una nuova gestione connessione.
Argomenti correlati:Gestione connessione file, Editor gestione connessione file
Se la proprietà InnerXPathStringSourceType è impostata su Variabile, selezionare una variabile esistente oppure fare clic su <Nuova variabile...> per creare una nuova variabile.
Argomenti correlati:Variabili in Integration Services, Aggiungi variabile.
Enumeratore = Foreach SMO Enumerator
Foreach SMO Enumerator consente di enumerare gli oggetti SQL Server Management Objects (SMO). Se il Ciclo Foreach include ad esempio un'attività Esegui SQL, è possibile utilizzare Foreach SMO Enumerator per enumerare le tabelle nel database AdventureWorks2008R2 ed eseguire query che contino il numero di righe in ogni tabella.
Connessione
Selezionare una gestione connessione ADO.NET esistente oppure fare clic su <Nuova connessione...> per creare una nuova gestione connessione.Argomenti correlati: Gestione connessione ADO.NET, Configura gestione connessione ADO.NET
Enumerazione
Consente di specificare l'oggetto SMO da enumerare.Sfoglia
Consente di selezionare l'enumerazione SMO.Argomenti correlati:Seleziona enumerazione SMO.
Risorse esterne
Intervento nel blog sull'enumeratore SSIS For Each Node List, disponibile su bidn.com.
Intervento nel blog relativo all'impostazione dinamica di un filtro file in SSIS mediante FileSpec sul sito Web beyondrelational.com.