Bileşen tasarım zamanı yöntemleri bir veri akışı

Artımlı değişiklikler uğrar gibi yürütme önce veri akışı görev bir Tasarım Zamanı durumda olduğu söylenir. Değişiklik, ekleme veya kaldırma bileşenleri, ekleme ya da kaldırma bileşenleri ve değişiklikleri bileşen meta verileri bağlamak yolu nesneleri içerebilir. Meta veri değişiklikleri olduğunda bileşenin izleyebilir ve değişikliklerin tepki. Örneğin, bir bileşeni belirli değiştirilmesini veya bir değişiklik karşısında ek değişiklikler yapmak. Tasarımcı tasarım zamanında bir bileşen tasarım zamanı ile etkileşim IDTSDesigntimeComponent100arabirimi.

Tasarım Zamanı uygulaması

Bileşen Tasarım Zamanı arabirimi tarafından açıklanan IDTSDesigntimeComponent100arabirimi. Size açıkça bu arabirim uygulamak değil, ancak bir aşinalık bu arabirimde tanımlanan yöntemleri ile hangi yöntemleri anlamanıza yardımcı olacak PipelineComponenttemel sınıf karşılık bir bileşen tasarım zamanı örneği.

Ne zaman bir bileşeni yüklü SQL Server Veri Akışı Araçları (SSDT), bileşen tasarım zamanı örneği oluşturulur ve yöntemleri IDTSDesigntimeComponent100arabirimi bileşeni düzenlenemez olarak adlandırılır. Temel sınıf uygulaması, sadece sizin bileşeni gerektiren yöntemleri geçersiz kılmak sağlar. Çoğu durumda, bir bileşen için uygun olmayan düzenlemeler engellemek için bu yöntem kılabilir. Örneğin, kullanıcıların bir bileşeni için bir çıkış eklemesini engellemek için geçersiz InsertOutputyöntemi. Aksi takdirde, bu yöntemle temel sınıf uygulaması çağrıldığında, bileşene bir çıkış ekler.

Amaç ya da işlevsellik, bileşenin bakmaksızın, geçersiz kılmak ProvideComponentProperties, Validate, ve ReinitializeMetaDatayöntemleri. Hakkında daha fazla bilgi için Validateve ReinitializeMetaData, bakın Veri akışı bileşen doğrulanıyor.

ProvideComponentProperties yöntemi

Bir bileşeninin başlatılması oluşan ProvideComponentPropertiesyöntemi. Bu yöntem çağrılır SSISne zaman bir bileşeni için veri akışı görev eklenir ve bir sınıf kurucusunu benzer tasarımcı. Bileşen geliştiricileri oluşturmak ve onların girdileri, çıktıları ve özel özellikler bu yöntemi çağrısı sırasında başlatın. ProvideComponentPropertiesYöntemi farklı bir Oluşturucu çünkü her zaman Tasarım Zamanı örneği veya çalışma zamanı bileşeni örneği oluşturulur çağrılmaz.

Yöntemin temel sınıf uygulaması bir giriş ve bir çıkış için bileşeni ekler ve giriş kimliği atar SynchronousInputIDözellik. Ancak, SQL Server, temel sınıf tarafından eklenen giriş ve çıkış nesneleri olmayan adlandırılır. Giriş veya çıkış bir bileşeni içeren paketleri nesneleri olan Nameözellik kümesi değil başarıyla yükleyecektir. Temel uygulama kullandığınızda, bu nedenle, değerlerini açıkça e atamanız gerekir Nameözelliği varsayılan giriş ve çıkış.

public override void ProvideComponentProperties()
{
    /// TODO: Reset the component.
    /// TODO: Add custom properties.
    /// TODO: Add input objects.
    /// TODO: Add output objects.
}
public override void ProvideComponentProperties()
{
    /// TODO: Reset the component.
    /// TODO: Add custom properties.
    /// TODO: Add input objects.
    /// TODO: Add output objects.
}
Public Overrides Sub ProvideComponentProperties()
    ' TODO: Reset the component.
    ' TODO: Add custom properties.
    ' TODO: Add input objects.
    ' TODO: Add output objects.
End Sub
Public Overrides Sub ProvideComponentProperties()
    ' TODO: Reset the component.
    ' TODO: Add custom properties.
    ' TODO: Add input objects.
    ' TODO: Add output objects.
End Sub

Özel özellikler oluşturma

Çağrısı ProvideComponentPropertiesyöntemidir nerede bileşen geliştiricileri özel özellikleri eklemelisiniz (IDTSCustomProperty100) bileşeni için. Özel özellikler veri türü özelliği yoktur. Özel özelliğin veri türü değeri atamak istediğiniz veri türüne göre ayarlanır, Valueözellik. Ancak, özel özellik için bir başlangıç değeri atadıktan sonra farklı bir veri türü ile değer atayamazsınız.

[!NOT]

IDTSCustomProperty100Arabirim türü özellik değerleri için destek sınırlı olan Object. Özel özellik değeri olarak depolayabileceği yalnızca basit türler dizeleri ya da tamsayı dizisi nesnesidir.

Özel özellik değerini ayarlayarak özelliği ifadeleri destekler gösterebilir onun ExpressionTypeözelliği CPET_NOTIFYdan DTSCustomPropertyExpressionTypenumaralandırma, aşağıdaki örnekte gösterildiği gibi. İşlemek için ya da kullanıcı tarafından girilen özellik deyimi doğrulamak için herhangi bir kod eklemek gerekmez. Özellik için varsayılan değer ayarlama, onun değerini doğrulamak ve okumak ve normalde değerini kullanın.

  IDTSCustomProperty100 myCustomProperty;
  ...
  myCustomProperty.ExpressionType = DTSCustomPropertyExpressionType.CPET_NOTIFY;
  IDTSCustomProperty100 myCustomProperty;
  ...
  myCustomProperty.ExpressionType = DTSCustomPropertyExpressionType.CPET_NOTIFY;
  Dim myCustomProperty As IDTSCustomProperty100
  ...
  myCustomProperty.ExpressionType = DTSCustomPropertyExpressionType.CPET_NOTIFY
  Dim myCustomProperty As IDTSCustomProperty100
  ...
  myCustomProperty.ExpressionType = DTSCustomPropertyExpressionType.CPET_NOTIFY

Kullanarak bir numaralandırma özel özellik değerini seçmek için kullanıcılar sınırlayabilirsiniz TypeConverterözelliği olan adında ortak bir numaralandırma tanımladığınız varsayar aşağıdaki örnekte gösterildiği gibi ıOrtak.

  IDTSCustomProperty100 customProperty = outputColumn.CustomPropertyCollection.New();
  customProperty.Name = "My Custom Property";
  // This line associates the type with the custom property.
  customProperty.TypeConverter = typeof(MyValidValues).AssemblyQualifiedName;
  // Now you can use the enumeration values directly.
  customProperty.Value = MyValidValues.ValueOne;  
  IDTSCustomProperty100 customProperty = outputColumn.CustomPropertyCollection.New();
  customProperty.Name = "My Custom Property";
  // This line associates the type with the custom property.
  customProperty.TypeConverter = typeof(MyValidValues).AssemblyQualifiedName;
  // Now you can use the enumeration values directly.
  customProperty.Value = MyValidValues.ValueOne;  
  Dim customProperty As IDTSCustomProperty100 = outputColumn.CustomPropertyCollection.New 
  customProperty.Name = "My Custom Property" 
  ' This line associates the type with the custom property.
  customProperty.TypeConverter = GetType(MyValidValues).AssemblyQualifiedName 
  ' Now you can use the enumeration values directly.
  customProperty.Value = MyValidValues.ValueOne
  Dim customProperty As IDTSCustomProperty100 = outputColumn.CustomPropertyCollection.New 
  customProperty.Name = "My Custom Property" 
  ' This line associates the type with the custom property.
  customProperty.TypeConverter = GetType(MyValidValues).AssemblyQualifiedName 
  ' Now you can use the enumeration values directly.
  customProperty.Value = MyValidValues.ValueOne

Daha fazla bilgi için bkz: "Genelleştirilmiş türü dönüştürme" ve "Uygulama türü dönüştürücü" içinde MSDN Kitaplığı.

Özel mülk değeri için bir özel Düzenleyici iletişim kutusunu kullanarak belirleyebileceğiniz UITypeEditorözelliği, aşağıdaki örnekte gösterildiği gibi. Öncelikle, devraldığı düzenleyici özel bir tür oluşturmanız gerekir System.Drawing.Design.UITypeEditor, ihtiyaçlarınıza uygun bir varolan UI türü Düzenleyicisi sınıfı bulamazsanız.

  public class MyCustomTypeEditor : UITypeEditor
  {
  ...
  }
  public class MyCustomTypeEditor : UITypeEditor
  {
  ...
  }
Public Class MyCustomTypeEditor
  Inherits UITypeEditor 
  ...
End Class
Public Class MyCustomTypeEditor
  Inherits UITypeEditor 
  ...
End Class

Ardından, bu sınıf değeri olarak belirtmek UITypeEditorözelliği özel mülk.

  IDTSCustomProperty100 customProperty = outputColumn.CustomPropertyCollection.New();
  customProperty.Name = "My Custom Property";
  // This line associates the editor with the custom property.
  customProperty.UITypeEditor = typeof(MyCustomTypeEditor).AssemblyQualifiedName;
  IDTSCustomProperty100 customProperty = outputColumn.CustomPropertyCollection.New();
  customProperty.Name = "My Custom Property";
  // This line associates the editor with the custom property.
  customProperty.UITypeEditor = typeof(MyCustomTypeEditor).AssemblyQualifiedName;
  Dim customProperty As IDTSCustomProperty100 = outputColumn.CustomPropertyCollection.New 
  customProperty.Name = "My Custom Property" 
  ' This line associates the editor with the custom property.
  customProperty.UITypeEditor = GetType(MyCustomTypeEditor).AssemblyQualifiedName
  Dim customProperty As IDTSCustomProperty100 = outputColumn.CustomPropertyCollection.New 
  customProperty.Name = "My Custom Property" 
  ' This line associates the editor with the custom property.
  customProperty.UITypeEditor = GetType(MyCustomTypeEditor).AssemblyQualifiedName

Daha fazla bilgi için bkz: "Bir UI türü Editör uygulanması" içinde MSDN Kitaplığı.

Integration Services simgesi (küçük) Integration Services ile güncel kalın

En son karşıdan yüklemeler, makaleler, örnekler ve Microsoft video yanı sıra topluluk seçili çözümleri için ziyaret Integration ServicesMSDN sayfası:


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

Ayrıca bkz.

Kavramlar

Veri akışı bileşen çalıştırma yöntemleri