Condividi tramite


Creazione di un'attività personalizzata.

I passaggi per la creazione di un'attività personalizzata sono simili a quelli richiesti per la creazione di qualsiasi altro oggetto personalizzato per Integration Services:

  • Creare una nuova classe che eredita dalla classe di base. Per un'attività, la classe di base è Task.

  • Applicare alla classe l'attributo che identifica il tipo di oggetto. Per un'attività, l'attributo è DtsTaskAttribute.

  • Eseguire l'override dell'implementazione dei metodi e delle proprietà della classe di base. Per un'attività, questi includono i metodi Validate e Execute.

  • Se si desidera, sviluppare un'interfaccia utente personalizzata. Per un'attività, questa operazione richiede una classe che implementi l'interfaccia IDtsTaskUI.

Per un esempio reale di attività personalizzata, vedere gli esempi di Integration Services su Codeplex.

Introduzione alle attività personalizzate

Creazione di progetti e classi

Poiché tutte le attività gestite derivano dalla classe di base Task, il primo passaggio da completare quando si crea un'attività personalizzata consiste nel creare un progetto di libreria di classi nel linguaggio di programmazione gestito preferito e creare una classe che eredita dalla classe di base. In questa classe derivata si eseguirà l'override dei metodi e delle proprietà della classe di base per implementare la funzionalità personalizzata.

Nella stessa soluzione creare un secondo progetto di libreria di classi per l'interfaccia utente personalizzata. Per semplificare lo sviluppo, si consiglia di utilizzare un assembly distinto per l'interfaccia utente, perché in questo modo è possibile e ridistribuire la gestione connessione o la relativa interfaccia utente in modo indipendente.

Configurare entrambi i progetti per firmare gli assembly che verranno generati durante la compilazione utilizzando un file di chiave con nome sicuro.

Applicazione dell'attributo DtsTask

Applicare l'attributo DtsTaskAttribute alla classe creata per identificarla come attività. Questo attributo fornisce informazioni in fase di progettazione, ad esempio il nome, la descrizione e il tipo di attività.

Utilizzare la proprietà UITypeName per collegare l'attività alla relativa interfaccia utente personalizzata. Per ottenere il token di chiave pubblica richiesto per questa proprietà, è possibile utilizzare sn.exe-t per visualizzare il token di chiave pubblica dal file della coppia di chiavi (con estensione snk) che si intende utilizzare per firmare l'assembly dell'interfaccia utente.

using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SSIS.Samples
{
  [DtsTask
  (
   DisplayName = "MyTask",
   IconResource = "MyTask.MyTaskIcon.ico",
   UITypeName = "My Custom Task," +
   "Version=1.0.0.0," +
   "Culture = Neutral," +
   "PublicKeyToken = 12345abc6789de01",
   TaskType = "PackageMaintenance",
   TaskContact = "MyTask; company name; any other information",
   RequiredProductLevel = DTSProductLevel.None
   )]
  public class MyTask : Task
  {
    // Your code here.
  }
}
Imports System
Imports Microsoft.SqlServer.Dts.Runtime

<DtsTask(DisplayName:="MyTask", _
 IconResource:="MyTask.MyTaskIcon.ico", _
 UITypeName:="My Custom Task," & _
 "Version=1.0.0.0,Culture=Neutral," & _
 "PublicKeyToken=12345abc6789de01", _
 TaskType:="PackageMaintenance", _
 TaskContact:="MyTask; company name; any other information", _
 RequiredProductLevel:=DTSProductLevel.None)> _
Public Class MyTask
  Inherits Task

  ' Your code here.

End Class 'MyTask

Compilazione, distribuzione e debug di attività personalizzate

I passaggi per la compilazione, la distribuzione e il debug di un'attività personalizzata in Integration Services sono simili a quelli richiesti per altri tipi di oggetti personalizzati. Per ulteriori informazioni, vedere Compilazione, distribuzione e debug di oggetti personalizzati.

Icona di Integration Services (piccola) Rimanere aggiornati con Integration Services

Per informazioni sui download, gli articoli, gli esempi e i video Microsoft più recenti, nonché sulle soluzioni selezionate dalla community, visitare la pagina Integration Services su MSDN o Technet:

Per ricevere notifica automatica su questi aggiornamenti, sottoscrivere i feed RSS disponibili nella pagina.