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 è Microsoft.SqlServer.Dts.Runtime.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à, è richiesta una classe tramite cui venga implementata l'interfaccia IDtsTaskUI.
Introduzione alle attività personalizzate
Creazione di progetti e classi
Poiché tutte le attività gestite derivano dalla classe di base Microsoft.SqlServer.Dts.Runtime.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 usare sn.exe -t per visualizzare il token di chiave pubblica dal file della coppia di chiavi (con estensione snk) che si intende usare 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 altre informazioni, vedere Compilazione, distribuzione e debug di oggetti personalizzati.
Rimanere aggiornati con Integration Services
Per i download, gli articoli, gli esempi e i video più recenti di Microsoft, nonché le soluzioni selezionate dalla community, visitare la pagina integration services in MSDN:
Visitare la pagina relativa a Integration Services su MSDN
Per ricevere una notifica automatica su questi aggiornamenti, sottoscrivere i feed RSS disponibili nella pagina.
Vedi anche
Creazione di un'attività personalizzata
Scrittura del codice di un'attività personalizzata
Sviluppo di un'interfaccia utente per un'attività personalizzata