Share via


Esempio di creazione di un'attività personalizzata per l'incremento di una variabile

Data aggiornamento: 5 dicembre 2005

L'esempio IncrementTask illustra come creare a livello di programmazione attività personalizzate e le relative interfacce utente. Questo esempio non è supportato nei sistemi operativi basati su processori Itanium. L'esempio di codice implementa le funzionalità seguenti:

  • Overriding della classe base Microsoft.SqlServer.Dts.Runtime.Task
  • Convalida.
  • Esecuzione.
  • Supporto della persistenza.
  • Supporto dei punti di interruzione.
  • Eventi personalizzati.

Questo esempio di codice specifico entra in un ciclo durante l'esecuzione. A ogni iterazione del ciclo viene incrementata una variabile privata di tipo integer. Le proprietà InitialValue, IncrementValue e LoopCount controllano l'elaborazione nel ciclo. Tali proprietà vengono impostate mediante l'interfaccia utente personalizzata implementata dall'attività. I punti di interruzione personalizzati OnBeforeIncrement e OnAfterIncrement e i relativi eventi vengono generati prima e dopo l'incremento della variabile. La proprietà ExecutionResult include il valore della variabile incrementata interna dopo il completamento dell'esecuzione dell'attività.

ms160699.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.

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

Prima di eseguire questo esempio, verificare se vengono soddisfatte le condizioni seguenti:

  • Il pacchetto dell'esempio e i relativi dati di esempio devono innanzitutto essere installati sul disco rigido locale. Per ulteriori informazioni, vedere l'argomento relativo all'installazione e alla compilazione degli esempi di codice di Integration Services nella documentazione in linea.
  • Microsoft Visual Studio 2005
  • Microsoft SQL Server 2005 Integration Services

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\IncrementTask 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 nella cartella Samples, attenersi alla procedura seguente per generarlo. Nella scheda Firma della finestra di dialogo Proprietà progetto sono configurati progetti di esempio per la firma di assembly durante la generazione con questo file di chiave.

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

    ms160699.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 IncrementTask.sln dalla directory degli esempi desiderata, ovvero CS per il linguaggio C# o VB per Visual Basic.

  3. In Esplora soluzioni selezionare il codice di IncrementTask.cs o IncrementTask.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 IncrementTask.cs. Il valore alfanumerico dopo "PublicKeyToken =" deve essere sostituito con quello visualizzato al passaggio precedente.

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

Installazione dell'esempio

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. Dopo aver generato il componente, eseguire la procedura seguente per aggiungerlo come attività Flusso di dati in Business Intelligence Development Studio.

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

  1. Copiare l'assembly (IncrementTaskCS.dll o IncrementTaskVB.dll) nella cartella in %system%\Programmi\Microsoft SQL Server\90\DTS\Tasks.

  2. Aprire la directory della cache di assembly globale in %system%\assembly in un'altra finestra. 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\Samples\Integration Services\Programming Samples\Control Flow\IncrementTask Sample\CS\bin\Debug\IncrementTaskCS.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\Samples\Integration Services\Programming Samples\Control Flow\IncrementTask Sample\VB\bin\Debug\IncrementTaskVB.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 essere compilato in una directory specifica.

Test dell'esempio

È possibile testare l'attività di esempio in Progettazione SSIS eseguendo la procedura seguente.

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 IncrementTask 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 sezione Elementi flusso di controllo della Casella degli strumenti fare clic con il pulsante destro del mouse in qualsiasi punto dell'elenco e scegliere Scegli elementi.

  8. Fare clic sulla scheda Elementi flusso di controllo SSIS. Scorrere l'elenco e selezionare l'elemento IncrementTaskCS o IncrementTaskVB. Fare clic su OK. L'attività IncrementTask verrà visualizzata nella sezione Elementi flusso di controllo della Casella degli strumenti.

  9. Fare doppio clic sull'attività IncrementTask per aggiungerla all'area del flusso di controllo del pacchetto oppure trascinarla direttamente nell'area Flusso di controllo.

  10. Dopo aver posizionato l'attività nell'area di progettazione, fare doppio clic sull'attività per aprire l'editor. Impostare Loop Count su 5 e Increment Value su 1.

  11. Fare clic su Chiudi.

  12. Eseguire il pacchetto.

  13. Dopo aver eseguito il pacchetto, visualizzare la scheda Risultati esecuzione nella finestra di progettazione.

Cronologia modifiche

Versione Cronologia

5 dicembre 2005

Contenuto modificato:
  • Aggiunta dei passaggi per la creazione della chiave.