Aracılığıyla paylaş


Bir özel Bağlantı Yöneticisi için bir kullanıcı arabirimi geliştirme

Uygulaması özellikleri ve kendi özel işlevsellik sağlamak için temel sınıfın yöntemlerini geçersiz sonra Bağlantı Yöneticisi için özel kullanıcı arabirim oluşturmak isteyebilirsiniz.Özel kullanıcı arabirim oluşturmak, kullanıcılar yalnızca Properties penceresini kullanarak Bağlantı Yöneticisi'ni yapılandırabilirsiniz.

Özel kullanıcı arabirim proje veya derleme, normalde iki sınıf vardır — uygulayan bir sınıf IDtsConnectionManagerUIve kullanıcının. bilgi toplamak için görüntüleyen Windows formu

Önemli notÖnemli

İmzalama ve kendi özel kullanıcı arabirim oluşturmak ve de yüklemeden sonra genel derleme önbelleği açıklandığı gibi bir özel Bağlantı Yöneticisi kodlama, bu sınıf tam nitelikli adını sağlamak unutmayın UITypeName özellik DtsConnectionAttribute.

Özel bağlantı yöneticileri örnekleri için bkz: Integration Services örnekleri üzerinde Codeplex.Bu konuda gösterilen kod örnekleri sql Server özel Bağlantı Yöneticisi örnek çizilir.

Not

Görevleri, kaynakları ve hedefleri içine yerleşik çoğu Integration Services çalışmak yalnızca belirli türdeki yerleşik bağlantı yöneticileri.Bu nedenle, bu örnekler yerleşik görevler ve bileşenlerini sınanamıyor.

Kullanıcı arabirimi sınıfı kodlama

The IDtsConnectionManagerUI interface has four methods: Initialize, New, Edit, and Delete.Bu dört yöntem aşağıdaki bölümlerde açıklanmıştır.

Not

Herhangi bir kod yazmak gerekmeyebilir Delete yöntem ise temizleme gerekli olduğunda kullanıcı siler örnek Bağlantı Yöneticisi.

Kullanıcı arabirimi başlatılıyor

De Initialize yöntem, tasarımcı yapılandırılmış kullanıcı arabirim sınıfı değişiklik yapabileceğiniz böylece Bağlantı Yöneticisi bir başvuru sağlarBağlantı Yöneticisi'nin özellikler. Aşağıdaki kodda gösterildiği gibi önbellek Bağlantı Yöneticisi daha sonra kullanmak için referans kodunuzu gerekiyor.

Public Sub Initialize(ByVal connectionManager As Microsoft.SqlServer.Dts.Runtime.ConnectionManager, ByVal serviceProvider As System.IServiceProvider) Implements Microsoft.SqlServer.Dts.Runtime.Design.IDtsConnectionManagerUI.Initialize

    _connectionManager = connectionManager
    _serviceProvider = serviceProvider

  End Sub
    public void Initialize(Microsoft.SqlServer.Dts.Runtime.ConnectionManager connectionManager, System.IServiceProvider serviceProvider)
    {

      _connectionManager = connectionManager;
      _serviceProvider = serviceProvider;

    }

Yeni bir kullanıcı arabirimi örneği oluşturma

The New method, which is not a constructor, is called after the Initialize method when the user creates a new instance of the connection manager.De New , genellikle, istediğiniz yöntem görüntülenecek form düzenleme, sürece kullanıcı kopyalanır ve yapıştırılan bir varolan Bağlantı Yöneticisi.Aşağıdaki kod bu uygulaması gösterir yöntem.

  Public Function [New](ByVal parentWindow As System.Windows.Forms.IWin32Window, ByVal connections As Microsoft.SqlServer.Dts.Runtime.Connections, ByVal connectionUIArgs As Microsoft.SqlServer.Dts.Runtime.Design.ConnectionManagerUIArgs) As Boolean Implements Microsoft.SqlServer.Dts.Runtime.Design.IDtsConnectionManagerUI.New

    Dim clipboardService As IDtsClipboardService

    clipboardService = _
      DirectCast(_serviceProvider.GetService(GetType(IDtsClipboardService)), IDtsClipboardService)
    If Not clipboardService Is Nothing Then
      ' If the connection manager has been copied and pasted, take no action.
      If clipboardService.IsPasteActive Then
        Return True
      End If
    End If

    Return EditSqlConnection(parentWindow)

  End Function
  public bool New(System.Windows.Forms.IWin32Window parentWindow, Microsoft.SqlServer.Dts.Runtime.Connections connections, Microsoft.SqlServer.Dts.Runtime.Design.ConnectionManagerUIArgs connectionUIArgs)
    {
      IDtsClipboardService clipboardService;

      clipboardService = (IDtsClipboardService)_serviceProvider.GetService(typeof(IDtsClipboardService));
      if (clipboardService != null)
      // If connection manager has been copied and pasted, take no action.
      {
        if (clipboardService.IsPasteActive)
        {
          return true;
        }
      }

      return EditSqlConnection(parentWindow);
    }

Bağlantı Yöneticisi'ni düzenleme

Formu düzenlemek için her ikisini de çağrıldığı New ve Edit yöntemleri, onu kodunu görüntüleyen kapsüllemek için bir yardımcı işlev kullanmak uygunform. Aşağıdaki kod bu yardımcı işlev uygulaması gösterir.

  Private Function EditSqlConnection(ByVal parentWindow As IWin32Window) As Boolean

    Dim sqlCMUIForm As New SqlConnMgrUIFormVB

    sqlCMUIForm.Initialize(_connectionManager, _serviceProvider)
    If sqlCMUIForm.ShowDialog(parentWindow) = DialogResult.OK Then
      Return True
    Else
      Return False
    End If

  End Function
   private bool EditSqlConnection(IWin32Window parentWindow)
    {

      SqlConnMgrUIFormCS sqlCMUIForm = new SqlConnMgrUIFormCS();

      sqlCMUIForm.Initialize(_connectionManager, _serviceProvider);
      if (sqlCMUIForm.ShowDialog(parentWindow) == DialogResult.OK)
      {
        return true;
      }
      else
      {
        return false;
      }

    }

De Edit yöntem, yalnızca sahip olduğunuz düzenleme formunu görüntülemek.Aşağıdaki kod uygulaması gösterir Edit bir yardımcı kullandığı yöntem işlev için form kodu kapsüllemek için

  Public Function Edit(ByVal parentWindow As System.Windows.Forms.IWin32Window, ByVal connections As Microsoft.SqlServer.Dts.Runtime.Connections, ByVal connectionUIArg As Microsoft.SqlServer.Dts.Runtime.Design.ConnectionManagerUIArgs) As Boolean Implements Microsoft.SqlServer.Dts.Runtime.Design.IDtsConnectionManagerUI.Edit

    Return EditSqlConnection(parentWindow)

  End Function
    public bool Edit(System.Windows.Forms.IWin32Window parentWindow, Microsoft.SqlServer.Dts.Runtime.Connections connections, Microsoft.SqlServer.Dts.Runtime.Design.ConnectionManagerUIArgs connectionUIArg)
    {

      return EditSqlConnection(parentWindow);

    }

Kullanıcı arabirimi formunu kodlama

Kullanıcı arabirim sınıfı oluşturma yöntemlerini uygulayan sonra IDtsConnectionManagerUI arabirim oluşturmanız gerekir bir Windows formu nereye kullanıcı yapılandırabileceğiniz Bağlantı Yöneticisi.

Kullanıcı arabirimi formunu başlatılıyor

Düzenleme için özel formunuzu görüntülediğinizde, düzenlenmekte olan Bağlantı Yöneticisi'ni bir başvuru iletebilirsiniz.Bu başvuru formu sınıfı için özel bir kurucu kullanarak veya oluşturarak kendi geçirebilirsiniz Initialize yöntem olarak gösterilen burada.

  Public Sub Initialize(ByVal connectionManager As ConnectionManager, ByVal serviceProvider As IServiceProvider)

    _connectionManager = connectionManager
    _serviceProvider = serviceProvider
    ConfigureControlsFromConnectionManager()
    EnableControls()

  End Sub
   public void Initialize(ConnectionManager connectionManager, IServiceProvider serviceProvider)
    {

      _connectionManager = connectionManager;
      _serviceProvider = serviceProvider;
      ConfigureControlsFromConnectionManager();
      EnableControls();

    }

Kullanıcı arabirimi formunu üzerinde özelliklerini ayarlama

Son olarak, var olan veya varsayılan değerler, Bağlantı Yöneticisi özelliklerinin ilk yüklendiği form üzerindeki denetimleri dolduran bir yardımcı işlev form sınıfınızın gerekiyor.Form sınıfınızın değerlerini özellikler kullanıcı Tamam'ı tıklatır ve formu kapatır kullanıcı tarafından girilen değerlere ayarlar benzer bir işlev de gerekiyor.

  Private Const CONNECTIONNAME_BASE As String = "SqlConnectionManager"

  Private Sub ConfigureControlsFromConnectionManager()

    Dim tempName As String
    Dim tempServerName As String
    Dim tempDatabaseName As String

    With _connectionManager

      tempName = .Properties("Name").GetValue(_connectionManager).ToString
      If Not String.IsNullOrEmpty(tempName) Then
        _connectionName = tempName
      Else
        _connectionName = CONNECTIONNAME_BASE
      End If

      tempServerName = .Properties("ServerName").GetValue(_connectionManager).ToString
      If Not String.IsNullOrEmpty(tempServerName) Then
        _serverName = tempServerName
        txtServerName.Text = _serverName
      End If

      tempDatabaseName = .Properties("DatabaseName").GetValue(_connectionManager).ToString
      If Not String.IsNullOrEmpty(tempDatabaseName) Then
        _databaseName = tempDatabaseName
        txtDatabaseName.Text = _databaseName
      End If

    End With

  End Sub

  Private Sub ConfigureConnectionManagerFromControls()

    With _connectionManager
      .Properties("Name").SetValue(_connectionManager, _connectionName)
      .Properties("ServerName").SetValue(_connectionManager, _serverName)
      .Properties("DatabaseName").SetValue(_connectionManager, _databaseName)
    End With

  End Sub
   private const string CONNECTIONNAME_BASE = "SqlConnectionManager";

   private void ConfigureControlsFromConnectionManager()
    {

      string tempName;
      string tempServerName;
      string tempDatabaseName;

      {
        tempName = _connectionManager.Properties["Name"].GetValue(_connectionManager).ToString();
        if (!String.IsNullOrEmpty(tempName))
        {
          _connectionName = tempName;
        }
        else
        {
          _connectionName = CONNECTIONNAME_BASE;
        }

        tempServerName = _connectionManager.Properties["ServerName"].GetValue(_connectionManager).ToString();
        if (!String.IsNullOrEmpty(tempServerName))
        {
          _serverName = tempServerName;
          txtServerName.Text = _serverName;
        }

        tempDatabaseName = _connectionManager.Properties["DatabaseName"].GetValue(_connectionManager).ToString();
        if (!String.IsNullOrEmpty(tempDatabaseName))
        {
          _databaseName = tempDatabaseName;
          txtDatabaseName.Text = _databaseName;
        }

      }

    }

    private void ConfigureConnectionManagerFromControls()
    {

      {
        _connectionManager.Properties["Name"].SetValue(_connectionManager, _connectionName);
        _connectionManager.Properties["ServerName"].SetValue(_connectionManager, _serverName);
        _connectionManager.Properties["DatabaseName"].SetValue(_connectionManager, _databaseName);
      }

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