Condividi tramite


Esempio ForEachDirectory

Data aggiornamento: 5 dicembre 2005

Questo esempio di codice illustra come creare un enumeratore personalizzato e un'interfaccia utente personalizzata per impostare proprietà per l'enumeratore tramite codice gestito e .NET Framework. Questo esempio non è supportato in IA64.

Esecuzione dell'esempio

Se non sono necessarie informazioni sulle procedure per l'individuazione, la generazione e l'installazione degli esempi di codice, è possibile passare direttamente alla sezione Test dell'esempio per informazioni sulla configurazione e l'esecuzione dell'esempio di codice.

Prerequisiti

Per garantire il funzionamento dell'esempio ForEachDirectory è necessario che i componenti seguenti siano installati.

  • .NET Framework SDK 2.0 o Microsoft Visual Studio 2005. .NET Framework SDK è disponibile gratuitamente. Vedere l'argomento della documentazione in linea Installazione di .NET Framework SDK.
  • Microsoft SQL Server 2005 Integration Services
ms160909.note(it-it,SQL.90).gifImportante:
Gli esempi vengono offerti esclusivamente a scopo didattico. Non sono progettati per l'utilizzo in un ambiente di produzione e non sono stati testati in un ambiente di produzione. Microsoft non fornisce servizi di supporto tecnico per questi esempi.

Percorso

Se l'esempio di codice viene installato nella posizione predefinita, l'esempio si trova nella directory seguente:

C:\Programmi\Microsoft SQL Server\100\Samples\Integration Services\\Programming Samples\Control Flow\ForEachDirectory Sample

La versione C# dell'esempio di codice si trova nella directory CS, mentre la versione Visual Basic si trova nella directory VB.

Per ulteriori informazioni sul processo in due fasi necessario per l'installazione degli esempi, vedere Installazione degli esempi. Per ottenere la versione più recente degli esempi, inclusi nuovi esempi resi disponibili dopo il rilascio di SQL Server 2005, vedere Esempi e database di esempio di SQL Server 2005 (aprile 2006).

Generazione dell'esempio

Se non è stato ancora generato un file di chiave con nome sicuro, attenersi alla procedura seguente per generarlo.

Per generare un file di chiave con nome sicuro

  1. Per aprire il prompt dei comandi di Microsoft Visual Studio 2005, fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft Visual Studio 2005, Visual Studio Tools e quindi fare clic su Prompt dei comandi di Visual Studio 2005.

    -oppure-

    Per aprire il prompt dei comandi di Microsoft .NET Framework, fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft .NET Framework SDK 2.0 e quindi fare clic su Prompt dei comandi SDK.

  2. Al prompt dei comandi mediante il comando CD (change directory) passare dalla directory corrente della finestra del prompt dei comandi alla cartella Samples. Il file di chiave creato in questa cartella verrà utilizzato da tutti gli esempi di codice di Microsoft SQL Server 2005.

    [!NOTA] Per determinare la cartella in cui si trovano gli esempi, fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft SQL Server 2005, Documentazione ed esercitazioni e quindi Directory esempi. Se è stato utilizzato il percorso di installazione predefinito, gli esempi si troveranno in <system_drive>:\Programmi\Microsoft SQL Server\90\Samples.

  3. Al prompt dei comandi digitare il comando seguente per generare il file di chiave:

    sn -k SampleKey.snk

    ms160909.note(it-it,SQL.90).gifImportante:
    Per ulteriori informazioni sulla coppia di chiavi con nome sicuro, vedere l'argomento relativo ai nomi sicuri e alla protezione in .NET Framework nel centro per sviluppatori di .NET su MSDN (informazioni in lingua inglese).
  4. Il token di chiave pubblica del file di chiave sarà necessario in un passaggio successivo. Per ottenere il token di chiave pubblica, estrarre innanzitutto la chiave pubblica dal file di chiave eseguendo il comando seguente al prompt dei comandi:

    sn -p SampleKey.snk SampleKeyPublic.snk

  5. Visualizzare il token di chiave pubblica eseguendo il comando seguente al prompt dei comandi:

    sn -t SampleKeyPublic.snk

  6. Copiare il token di chiave pubblica negli Appunti o salvarlo per un utilizzo futuro.

Per generare l'esempio

  1. Aprire Microsoft Visual Studio 2005.

  2. Scegliere Apri dal menu File, fare clic su Progetto e aprire ForEachDirectory.sln dalla directory degli esempi desiderata, ovvero CS per il linguaggio C# o VB per Visual Basic.

  3. In Esplora soluzioni selezionare il codice ForEachDirectory.cs o ForEachDirectory.vb.

  4. Nel codice individuare l'attributo DtsTask. In questa riga di codice sostituire il valore esistente del token di chiave pubblica nella proprietà dell'attributo UITypeName in ForEachDirectory.cs. Il valore alfanumerico dopo "PublicKeyToken =" deve essere sostituito con quello visualizzato nel comando sn -t di un passaggio precedente.

  5. Scegliere Genera ForEachDirectory dal menu Genera per generare la DLL del progetto.

Installazione della DLL nella cartella ForEachEnumerator e nella cache di assembly globale

Questo esempio è disponibile in Visual Basic e C#. Per distinguere gli assembly delle due versioni dell'esempio, al nome degli assembly di output sono stati aggiunti i suffissi CS e VB. Al termine della generazione, il componente deve essere copiato nella cartella ForEachEnumerators e quindi aggiunto alla cache di assembly globale per poter essere utilizzato in Business Intelligence Development Studio.

Per installare il componente nella cartella ForEachEnumerators

  1. Copiare l'assembly (ForeachDirectoryCS.dll o ForeachDirectoryVB.dll) nella cartella in %system%\Programmi\Microsoft SQL Server\90\DTS\ForEachEnumerators.

  2. Aprire la directory della cache di assembly globale in %system%\assembly. Nella maggior parte dei computer il percorso sarà C:\Windows\assembly.

  3. Selezionare l'assembly nella prima finestra e quindi trascinarlo nella finestra in cui è visualizzata la cartella assembly.

Per installare il componente nella cache di assembly globale trascinando l'assembly

  1. Copiare l'assembly (ForeachDirectoryCS.dll o ForeachDirectoryVB.dll) nella cartella in %system%\Programmi\Microsoft SQL Server\90\DTS\ForEachEnumerators.

  2. Aprire la directory della cache di assembly globale in %system%\assembly. Nella maggior parte dei computer il percorso sarà C:\Windows\assembly.

  3. Selezionare l'assembly nella prima finestra e quindi trascinarlo nella finestra in cui è visualizzata la cartella assembly.

Per installare il componente nella cache di assembly globale tramite gacutil.exe

  1. Aprire la finestra del prompt dei comandi.

  2. Digitare il comando seguente per installare la versione C# del componente e l'interfaccia utente nella cache di assembly globale:

    gacutil.exe -iF "c:\Program Files\Microsoft Sql Server\90\DTS\ ForEachEnumerators\ForEachDirectoryCS.dll"

  3. Digitare il comando seguente per installare la versione Visual Basic del componente e l'interfaccia utente nella cache di assembly globale:****

    gacutil.exe -iF "c:\Program Files\Microsoft Sql Server\90\DTS\ForeachEnumerators\ForeachDirectoryVB.dll"

Nota   Per ragioni di semplicità, l'interfaccia utente di questo esempio è stata inserita nello stesso progetto del codice dell'attività. È pertanto sufficiente copiare la DLL nella directory dell'assembly. Se si decide di inserire l'interfaccia utente in un progetto diverso, è necessario aggiungere la DLL contenente l'interfaccia utente nella cache di assembly globale oltre alla DLL contenente il codice. Solo il codice deve tuttavia essere compilato in una directory specifica.

Al termine, l'enumeratore sarà disponibile nell'Editor ciclo Foreach del contenitore Ciclo Foreach.

Per utilizzare l'esempio in Business Intelligence Development Studio

  1. Aprire Business Intelligence Development Studio.

  2. Scegliere File/Nuovo/Progetto.

  3. Nella finestra di dialogo Nuovo progetto, in Tipi progetto, fare clic su Progetti Business Intelligence e nel riquadro destro fare clic su Progetto di Integration Services.

  4. Nella casella Nome digitare ForEachDirectory come nome per il nuovo progetto.

  5. Nella casella Percorso selezionare il percorso in cui si desidera salvare il file. Fare clic su OK.

  6. In Esplora soluzioni fare doppio clic su Package.dtsx.

  7. Nella casella Percorso selezionare il percorso in cui si desidera salvare il file. Fare clic su OK.

  8. In Esplora soluzioni fare doppio clic su Package.dtsx.

  9. Aggiungere il contenitore Ciclo Foreach all'area del flusso di controllo di un pacchetto.

  10. Fare doppio clic sul contenitore Ciclo Foreach aggiunto al passaggio uno per aprire l'Editor ciclo Foreach.

  11. Fare clic sul nodo Insieme e selezionare l'enumeratore ForEachDirectory dalla casella di riepilogo a discesa Enumeratore.

  12. Specificare i valori delle proprietà dell'enumeratore ForEachDirectory e quindi fare clic su OK.

Test dell'esempio

Dopo avere aggiunto il componente di esempio a un'attività Flusso di dati in un pacchetto, è possibile configurarlo in Progettazione SSIS. L'enumeratore ForEachDirectory dispone di cinque proprietà che ne controllano il comportamento di esecuzione.

Proprietà Descrizione

RootDirectorySource

Specifica l'origine della proprietà RootDirectory che può essere impostata da ConnectionManager, Variable o DirectInput.

RootDirectory

Specifica la directory in cui l'enumeratore inizia l'enumerazione.

IncludeRootDirectory

Specifica se la directory principale verrà inclusa nelle directory enumerate.

EnumerateSubFolders

Specifica se le sottocartelle delle cartelle contenute nella directory principale verranno enumerate.

SiblingFoldersBeforeSubFolders

Se EnumerateSubFolders è true, specifica se l'enumeratore enumera innanzitutto le cartelle di pari livello oppure se viene enumerata prima la struttura di directory completa.

Cronologia modifiche

Versione Cronologia

17 luglio 2006

5 dicembre 2005

Nuovo contenuto:
  • Inserimento di istruzioni su come utilizzare l'esempio in Business Intelligence Development Studio.
  • Aggiunta di una tabella con la descrizione delle proprietà presenti nell'interfaccia utente personalizzata.