Udostępnij za pośrednictwem


Developing a User Interface for a Custom Task

The Integration Services object model provides custom task developers the ability to easily create a custom user interfejs for a task that can then be integrated and displayed in Business Intelligence Development Studio. Interfejs użytkownika może dostarczyć użytecznych informacji do użytkownika w SSIS Projektant i użytkownicy przewodnik poprawne skonfigurowanie właściwości i ustawienia niestandardowe zadania.

Opracowywanie interfejs użytkownika niestandardowego zadania polega na użyciu dwie ważne klasy.W poniższej tabela opisano tych klas.

Klasa

Description

DtsTaskAttribute

Atrybut, który identyfikuje zadanie zarządzane i jak dostarcza informacji czas projektowania przez jego właściwości do formantu SSIS Projektant wyświetla i komunikuje się z obiektem.

IDtsTaskUI

Interfejs używany przez zadanie, aby skojarzyć zadania z jego interfejs użytkownika niestandardowego.

Ta sekcja opisuje rolę DtsTaskAttribute atrybut oraz IDtsTaskUI interfejs podczas opracowywania interfejsu użytkownika dla niestandardowego zadania i zawiera szczegółowe informacje dotyczące tworzenia, integracja, wdrożyć i debugowania zadania w ramach SSIS Projektant.

The SSIS Designer provides multiple entry points to the user interfejs for the task: Użytkownik może wybrać Edytowanie w menu skrótów, kliknij dwukrotnie zadanie, lub kliknij przycisk Pokaż edytora łącze u dołu arkusza właściwość.Kiedy użytkownik uzyska dostęp do jednego z tych punktów wejścia SSIS Projektant lokalizuje i ładuje wirtualny plik dziennika zawierający interfejs użytkownika dla zadania. Interfejs użytkownika dla zadania jest odpowiedzialny za tworzenie wyświetlany dla użytkownika w oknie dialogowym właściwości Business Intelligence Development Studio.

Zadania i jego interfejs użytkownika są odrębne osoby.Te powinny zostać wprowadzone w oddzielnych zestawów zmniejszyć lokalizacja, wdrażanie i konserwację pracy.Zadanie nie zostanie załadowana biblioteka DLL, wywołanie lub zazwyczaj zawiera wszelkie wiedzę na temat jego interfejs użytkownika, z wyjątkiem informacje zawarte w DtsTaskAttribute wartości atrybut zakodowane w zadaniu. Jest to jedyny sposób zadania i jego interfejs użytkownika są skojarzone.

Atrybut DtsTask

The DtsTaskAttribute atrybut is included in the task class code to associate a task with its user interfejs. The SSIS Designer uses the properties of the atrybut to determine how to display the task in the designer. Właściwości tych należą: nazwę i ikonę, jeśli istnieje.

W poniższej tabela opisano właściwości DtsTaskAttribute atrybut.

Właściwość

Description

DisplayName()

Wyświetla nazwę zadania, w przyborniku przepływ sterowania.

Description()

Opis zadania (dziedziczone DtsLocalizableAttribute). Ta właściwość jest wyświetlana w etykietkach narzędzi.

IconResource()

Ikona wyświetlana w SSIS Projektant.

RequiredProductLevel()

Jeśli używany, ustaw ją jako jedną z wartości w polach DTSProductLevel Wyliczanie. Na przykład RequiredProductLevel = DTSProductLevel.None.

TaskContact()

Informacje kontaktowe, uchwytów do sytuacji, gdy zadanie wymaga obsługi technicznej.

TaskType()

Przypisuje typu zadania.

atrybut.TypeId

Podczas implementowania w klasie pochodnej, pobiera identyfikator unikatowy dla tego atrybut.Aby uzyskać więcej informacji zobacz Attribute.TypeID właściwość w biblioteki klas systemu .NET Framework.

UITypeName()

Wpisz nazwę wirtualny plik dziennika, który jest używany przez SSIS Projektant załadować wirtualny plik dziennika. Ta właściwość jest używana do znalezienia wirtualny plik dziennika interfejs użytkownika dla zadania.

Następujący kod przykładzie DtsTaskAttribute jak będzie wyglądał kodowane powyżej definicji klasy.

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

The SSIS Designer uses the UITypeName() właściwość of the atrybut that includes the wirtualny plik dziennika name, type name, wersja, culture, and public klucz token, to locate the wirtualny plik dziennika in the Global wirtualny plik dziennika Cache (GAC) and load it for use by the designer.

Po, wirtualny plik dziennika SSIS Projektant używa innych właściwości w atrybucie do wyświetlania dodatkowych informacji o zadaniu w SSIS Projektant, takie jak nazwisko, ikona i opis zadania.

The DisplayName(), Description(), and IconResource() properties specify how the task is presented to the user.The IconResource() właściwość contains the zasób ID of the icon embedded in the user interfejs wirtualny plik dziennika. Projektant ładuje zasób ikona przy użyciu IDENTYFIKATORA z wirtualny plik dziennika i wyświetla je obok nazwy zadania w przyborniku, a na powierzchni projektanta, gdy zadanie zostanie dodany do pakiet.Jeśli zadanie nie zawiera zasób ikony, Projektant używa domyślnej ikony dla tego zadania.

Interfejs IDTSTaskUI

The IDtsTaskUI interfejs defines the kolekcja of methods and properties called by SSIS Designer to initialize and display the user interfejs associated with the task. Wywołania interfejsu użytkownika dla zadania, wywołania konstruktora Initialize(TaskHost, IServiceProvider) metoda implementowane przez zadań interfejs użytkownika, gdy został on napisany, a następnie zawiera TaskHost i Connections Kolekcje zadania i pakiet, odpowiednio jako parametry. Te kolekcje są przechowywane lokalnie i później w używać GetView() Metoda.

Wywołania konstruktora GetView() Metoda żądania wyświetlanych w oknie SSIS Projektant. Zadanie tworzy wystąpienie okna zawiera interfejsu użytkownika dla zadania, a następnie zwraca interfejs użytkownika do projektanta do wyświetlenia.Zazwyczaj TaskHost i Connections obiekty znajdują się w oknie za pomocą przeciążone konstruktora tak, aby mogły być używane do konfigurowania zadania.

The SSIS Designer calls the GetView() metoda of the task UI to display the user interfejs for the task. Interfejs użytkownika zadania zwraca formularzy systemu Windows z tej metoda, a SSIS Projektant wyświetlanie tego formularza jako modalnego okna dialogowego. Po zamknięciu formularza SSIS Projektant sprawdza, czy wartość DialogResult Właściwość formularza w celu ustalenia, czy zadania została zmodyfikowana i zmiany te mają być zapisywane. Jeśli wartość DialogResult Właściwość jest OK, SSIS Projektant wywołuje metody trwałość zadania, aby zapisać zmiany; w przeciwnym razie zmiany zostaną odrzucone.

Następujący kod przykładowy implementuje IDtsTaskUI interfejs i zakłada się istnienie klasę formularzy systemu Windows o nazwie SampleTaskForm.

using System;
using System.Windows.Forms;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Runtime.Design;

namespace Sample
{
   public class HelloWorldTaskUI : IDtsTaskUI
   {
      TaskHost   taskHost;
      Connections connections;
      public void Initialize(TaskHost taskHost, IServiceProvider serviceProvider)
      {
         this.taskHost = taskHost;
         IDtsConnectionService cs = serviceProvider.GetService
         ( typeof( IDtsConnectionService ) ) as   IDtsConnectionService; 
         this.connections = cs.GetConnections();
      }
      public ContainerControl GetView()
      {
        return new HelloWorldTaskForm(this.taskHost, this.connections);
      }
     public void Delete(IWin32Window parentWindow)
     {
     }
     public void New(IWin32Window parentWindow)
     {
     }
   }
}
Imports System
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Runtime.Design
Imports System.Windows.Forms

Public Class HelloWorldTaskUI
  Implements IDtsTaskUI

  Dim taskHost As TaskHost
  Dim connections As Connections

  Public Sub Initialize(ByVal taskHost As TaskHost, ByVal serviceProvider As IServiceProvider) _
    Implements IDtsTaskUI.Initialize

    Dim cs As IDtsConnectionService

    Me.taskHost = taskHost
    cs = DirectCast(serviceProvider.GetService(GetType(IDtsConnectionService)), IDtsConnectionService)
    Me.connections = cs.GetConnections()

  End Sub

  Public Function GetView() As ContainerControl _
    Implements IDtsTaskUI.GetView

    Return New HelloWorldTaskForm(Me.taskHost, Me.connections)

  End Function

  Public Sub Delete(ByVal parentWindow As IWin32Window) _
    Implements IDtsTaskUI.Delete

  End Sub

  Public Sub [New](ByVal parentWindow As IWin32Window) _
    Implements IDtsTaskUI.[New]

  End Sub

End Class
Integration Services icon (small) Konfiguracja w aktualizacji z usług integracja Services pobytu

Najnowsze pliki do pobrania, artykuły, próbki, i pliki wideo firmy Microsoft, jak również wybranego rozwiązania od Wspólnoty, odwiedź witrynę Integration Services strona w witrynie MSDN lub TechNet:

Automatycznego powiadomienie tych aktualizacji należy subskrybować źródła danych RSS, które jest dostępne strona.