Aracılığıyla paylaş


Bir kullanıcı arabirimi için özel görev geliştirme

The Integration Services object model provides custom task developers the ability to easily create a custom user interface for a task that can then be integrated and displayed in Business Intelligence Development Studio.Kullanıcı arabirim kullanıcıya yararlı bilgiler sağlayabilir SSIS Tasarımcısı ve Rehber kullanıcılar doğru yapılandırma özelliklerini ve ayarlarını özel bir görev.

Bir görev için özel kullanıcı arabirim geliştirme, iki önemli sınıf kullanımıyla ilgilidir.Aşağıdaki tablo bu sınıfları açıklar.

Sınıf

Açıklama

[ T:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute ]

Yönetilen bir görevi tanımlar ve tasarım - sağlayan bir özniteliksaat özelliklerini denetlemek yoluyla bilgi nasıl SSIS Tasarımcısı görüntüler ve etkileşim ile nesne.

[ T:Microsoft.SqlServer.Dts.Runtime.Design.IDtsTaskUI ]

Görev özel kullanıcı arabirimi ile ilişkilendirmek için görev tarafından kullanılan arabirim.

Bu bölümde açıklar DtsTaskAttribute öznitelik ve IDtsTaskUI arabirim özel bir görev için bir kullanıcı arabirim geliştirme ve nasıl oluşturmak, entegre, dağıtmak ve içinde görev hata ayıklama ile ilgili ayrıntıları sağlar SSIS Tasarımcısı.

The SSIS Designer provides multiple entry points to the user interface for the task: Kullanıcının seçim yapabileceği düzenleme kısayol menüsünden görevi çift tıklatın, veya Düzenleyicisi'ni Göster altındaki özellik sayfasının bağlantısını.Kullanıcı bu giriş noktaları birini eriştiğinde, SSIS Tasarımcısı bulur ve yükler için görev kullanıcı arabirim içeren derlemeGörev kullanıcı arabirim oluşturma özellikleri iletişim kutusunda kullanıcıya görüntülenen için sorumlu olan Business Intelligence Development Studio.

Bir görev ve kullanıcı arabirim ayrı varlıklardır.Yerelleştirme, dağıtım ve bakım işinin azaltmak için ayrı derlemelerde uygulanacak.dll yükleme, görev çağrısı veya genellikle bilgisayarın kullanıcı herhangi bir bilgi içeren arabirim, içerdiği bilgiler haricinde DtsTaskAttribute öznitelik değerleri kodlanmış görev.Bu yalnızca, bu şekilde bir görev ve kendi kullanıcı arabirim ilişkilidir.

DtsTask özniteliği

The DtsTaskAttribute attribute is included in the task class code to associate a task with its user interface.The SSIS Designer uses the properties of the attribute to determine how to display the task in the designer.Bu özellikler varsa görüntü ve simge adını içerir.

Aşağıdaki tablo özelliklerini açıklar DtsTaskAttribute öznitelik.

Özellik

Açıklama

[ P:Microsoft.SqlServer.Dts.Runtime.Localization.DtsLocalizableAttribute.DisplayName ]

Akış denetimi araç kutusunda görevin adını görüntüler.

[ P:Microsoft.SqlServer.Dts.Runtime.Localization.DtsLocalizableAttribute.Description ]

Görev açıklaması (devralınan DtsLocalizableAttribute).Bu özellik ipuçlarında gösterilir.

[ P:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute.IconResource ]

Görüntülenen simgeyi SSIS Tasarımcısı.

[ P:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute.RequiredProductLevel ]

Kullandıysanız, bir değerler küme DTSProductLevel numaralandırma.Örneğin, RequiredProductLevel = DTSProductLevel.None.

[ P:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute.TaskContact ]

Holds bilgi ne zaman görev teknik destek gerektiren durumlar için başvurun.

[ P:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute.TaskType ]

Bir tür göreve atar.

Attribute.TypeID

Türetilmiş bir sınıf içerisinde uygulanan, bu öznitelik için bir benzersiz tanımlayıcı alır.Daha fazla bilgi için bkz: Attribute.TypeID özellik de..NET Framework sınıf kitaplığı.

[ P:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute.UITypeName ]

Tarafından kullanılan derleme türü adı SSIS Tasarımcısı yüklenecek derleme.Bu özellik, görev için kullanıcı arabirim derleme bulmak için kullanılır.

Aşağıdaki kod örneği gösterildiği DtsTaskAttribute gibi, konum, kodlanmış yukarıdaki sınıf tanımı.

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 property of the attribute that includes the assembly name, type name, version, culture, and public key token, to locate the assembly in the Global Assembly Cache (GAC) and load it for use by the designer.

Derleme, bulunmuştur sonra SSIS Tasarımcısı kullanır öznitelik görevle ilgili ek bilgileri görüntülemek için diğer özellikler SSIS adı ve simgesi, açıklaması gibi Tasarımcı görev.

The DisplayName, Description, and IconResource properties specify how the task is presented to the user.The IconResource property contains the resource ID of the icon embedded in the user interface assembly.Tasarımcı Kimliğinden simge kaynak yükler derlemeve görev için bir paket eklendiğinde, araç ve tasarımcı yüzey üzerinde görev adının yanında görüntülenir.Bir görev bir simge sağlamaz, kaynak, tasarımcı görev için varsayılan simge kullanır.

IDTSTaskUI arabirimi

The IDtsTaskUI interface defines the collection of methods and properties called by SSIS Designer to initialize and display the user interface associated with the task.Ne zaman kullanıcı arabirim, bir görev için çağrılır, tasarımcı çağrıları Initialize yöntem, yazdığınız zaman görev kullanıcı arabirim tarafından uygulanan ve sağlar sonra TaskHost ve Connections koleksiyonları görev ve paket, sırasıyla olarak parametreler.Bu Koleksiyonlar yerel olarak depolanan ve sonradan de kullanılan GetView yöntem.

Tasarımcı çağrıları GetView içinde görüntülenen pencere isteme yöntem SSIS Tasarımcısı.Görev oluşturur bir örnek pencerenin görev için kullanıcı arabirim içerir ve tasarımcı görüntülemek için kullanıcı arabirim döndürür.Genellikle, TaskHost ve Connections nesneleri sağladı penceresine yoluyla aşırı yüklü bir yapıcı şekilde bunlar kullanılabilir yapılandırma görevi.

The SSIS Designer calls the GetView method of the task UI to display the user interface for the task.Bu yöntem, Windows form görev kullanıcı arabirim döndürür ve SSIS Tasarımcısı gösterir bu form olarak bir kalıcı iletişim kutusu.Form kapatıldığında, SSIS Tasarımcısı değerini inceler DialogResult olup görevi değiştirildi ve bu değişikliklerin kaydedilmesi, belirlemek için formun özellik.Varsa değeri DialogResult özellik OK, SSIS Tasarımcısı çağrıları görev değişiklikleri; kalıcı yöntemler Aksi halde, değişiklikleri atılır.

Aşağıdaki kod örneği Implements IDtsTaskUI , arabirim ve bir Windows form sınıf adlı varlığını varsayar. 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 simgesi (küçük)Integration Services ile güncel kalın

En son karşıdan yüklemeler, makaleler, örnekler ve seçilen topluluk çözümleri yanı sıra Microsoft videolar için ziyaret Integration Services sayfa msdn veya TechNet:

Bu güncelleştirmelerle ilgili otomatik bildirim almak için, sayfadaki RSS akışlarına abone olun.