Tasarım saatı yöntemleri bir veri akışı bileşeni

Önce yürütme, veri akışı görevi bir tasarım-söylenir saat, artırımlı değişiklik geçer olarak belirtin.Değişiklikleri ekleme veya kaldırma bileşenleri, ekleme ya da yol nesnelerin, bileşenleri ve değişiklikleri bileşenleri meta veriler temizleme içerebilir.meta veriler değişiklikleri olduğunda, bileşen izleyebilir ve değişiklikleri yanıt.Örneğin, bileşeni belirli değişiklikleri izin verme veya yanıt olarak bir değişiklik ek değişiklikler yapmak.Tasarım sırasında saat, tasarım-aracılığıyla bir bileşeni Tasarımcısı etkileşim saat IDTSDesigntimeComponent100 arabirim.

Tasarım-CVE-2006-saat uygulama

Tasarım-saat arabirimi bir bileşen tarafından tanımlanan IDTSDesigntimeComponent100 arabirim. Açıkça bu arabirimini uygulayan değil de, bu arabirimde tanımlanan yöntemleri ile ilgili bir benzerlik hangi yöntemleri anlamanıza yardımcı olacak PipelineComponent temel sınıf karşılık tasarım-için saat bir bileşenin örneğini.

Bir bileşen olarak ne saat yüklenir Business Intelligence Development Studio, tasarım zamanı örnek bileşen örneği ve yöntemlerini IDTSDesigntimeComponent100 Arabirim bileşeni düzenlenemez olarak verilir. Bileþeniniz gerektiren yöntemleri geçersiz kılmak temel sınıf uygulaması sağlar.Çoğu durumda, bir bileşen için uygun olmayan düzenlemeleri önlemek için bu yöntemler kılabilir.Örneğin, kullanıcıların bir bileşen için bir çıkış eklemesini engellemek için , geçersiz kılmak InsertOutput(DTSInsertPlacement, Int32) yöntem. Aksi takdirde, zaman bu uygulama yöntem tarafından temel sınıf verilir, bu bileşen için bir çıktı ekler.

Amaç veya bileşeniniz işlevselliğini bağımsız olarak geçersiz kılmak ProvideComponentProperties(), Validate(), ve ReinitializeMetaData() yöntemleri. Daha fazla bilgi için Validate() ve ReinitializeMetaData(), bkz: Bir veri akışı bileşeni doğrulanıyor.

ProvideComponentProperties yöntem

Bir bileşeninin başlatılması oluşuyor ProvideComponentProperties() yöntem. Bu yöntem verilir SSIS Tasarımcının bileşen veri akışı göreve eklenir ve bir sınıf oluşturucu için benzer. Bileşen geliştiricileri oluşturun ve bu yöntem çağrısı sırasında kendi giriş çıkışları ve özel özellikleri başlatılamıyor.The ProvideComponentProperties() yöntem differs from a constructor because it is not called every saat that the design-saat örnek or run-saat örnek of the component is instantiated.

Temel sınıf uygulama yönteminin girdi ve bir çıkış bileşene ekler ve giriş için bir KIMLIK atar SynchronousInputID() özellik. Ancak, SQL Server, temel sınıfı tarafından eklenen giriş ve çıkış nesneleri adlandırılmamış. Bir bileşeni içeren paketler giriş veya çıkış whose nesneleri Name özellik değil küme başarıyla yüklenmeyecek. Temel uygulama kullandığınızda, bu nedenle, değerleri için açıkça atamanız gerekir Name Varsayılan giriş ve çıkış özellik.

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

Özel özellikler oluşturma

Çağrı ProvideComponentProperties() Burada bileşen geliştiricileri eklemeniz gereken özel özellikleri (yöntem budur.IDTSCustomProperty100) bileşeni için. Bir Veri türünü özellik, özel özellikler yoktur.Özel bir özelliğin veri türü küme atadığınız veri türüne göre değeri, Value() özellik. Ancak, özel özellik için bir başlangıç değeri atadıktan sonra farklı bir veri türüne değer atayamazsınız.

Not

The IDTSCustomProperty100 arabirim has limited support for özellik values of type Object. Özel bir özelliğin değeri depolayabileceğiniz yalnızca basit türleri gibi dize veya tamsayı dizisi nesnedir.

Kendi özel özellik değerini ayarlayarak özelliği ifadeleri destekler gösterebilir, ExpressionType() özelliği CPET_NOTIFY gelen DTSCustomPropertyExpressionType numaralandırma, aşağıdaki örnekte gösterildiği gibi. Tanıtıcı veya kullanıcı tarafından girilen özellik ifade doğrulamak için herhangi bir kod eklemek zorunda değildir.özellik varsayılan değer küme, değerini, doğrulamak ve okuma ve değeri normal olarak kullanabilirsiniz.

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

Kullanarak bir numaralandırma bir özel özellik değeri seçmek için kullanıcıların sınırlayabilirsiniz TypeConverter() özellik adlı genel bir numaralandırma tanımlamış olduğunuz varsayılmaktadır aşağıdaki örnekte gösterildiği gibi MyValidValues.

  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

Daha fazla bilgi için "Türü dönüştürme Genelleştirilmiş" ve "Tür Dönüştürücüsü uygulama" konusuna bakın MSDN Kitaplığı.

Bir özel Düzenleyici iletişim kutusu değeri, özel özelliği kullanarak belirleyebilirsiniz UITypeEditor() özellik aşağıdaki örnekte gösterildiği gibi. Ilk olarak, özel bir tür devraldığı Düzenleyicisi oluşturmalısınız System.Drawing.Design.UITypeEditor, gereksinimlerinize uyan varolan UI türü bir düzenleyici sınıfı bulamazsanız.

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

Ardından, bu sınıf, değeri olarak belirtmek UITypeEditor() özelliği, özel özellik.

  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

Içinde "Uygulama bir kullanıcı ARABIRIMI türü Düzenleyici" daha fazla bilgi için bkz: MSDN Kitaplığı.

Integration Services icon (small) Tümleştirme Hizmetleri ile güncel kalın

Karşıdan yüklemeler, makaleleri, örnekler ve en son Microsoft video yanı sıra, seçili topluluğun çözümleri için ziyaret Integration Services sayfa MSDN veya TechNet:

Bu güncelleştirmelerin otomatik bildirim için kullanılabilir RSS akışlarına abone olmak sayfa.