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

Çalışmaya başlamadan önce veri akışı görevi bir tasarım-'olduğu söylenirsaat durumunu artımlı değişiklikler geçer gibi.Değişiklikleri kaldırmalarının bileşenleri, kaldırmalarının bileşenleri ve değişiklikleri bileşen meta veriler bağlayan yol nesneleri içerebilir.meta veriler değişiklikleri olduğunda bileşeni izlemek ve değişiklikleri güncelleştiren.Örneğin, bir 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ımcı tasarım - aracılığıyla bir bileşenle etkileşimsaat IDTSDesigntimeComponent100 arabirim.

Tasarım uygulama

Tasarım -saat arabirimnin bir bileşeni tarafından açıklanan IDTSDesigntimeComponent100 arabirim.Bu arabirim açıkça uygulamak olsa da, bu arabirimde tanımlanan yöntemleri ile bir benzerlik hangi yöntemleri anlamanıza yardımcı olacaktır PipelineComponent temel sınıf karşılık tasarım - içinsaat örneğini bileşen.

Ne saat bir bileşeni yüklendiğinde Business Intelligence Development Studio, tasarım zamanı bileşeni örnek oluşturulur ve yöntemleri, IDTSDesigntimeComponent100 arabirim bileşeni düzenlenemez olarak adlandırılır.Bileşeninizin 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üzenlemeler engellemek için bu yöntem kılabilir.Örneğin, kullanıcıların bir bileşen için bir çıkış eklemesini önlemek için geçersiz kılmak InsertOutput yöntem.Aksi takdirde, ne zaman bu uygulama yöntem Bankası tarafından sınıf olarak adlandırılır, bu bileşen için bir çıktı ekler.

Amacı veya işlevselliği, bileşeninizi bakılmaksızın geçersiz kılıp kılmayacağını ProvideComponentProperties, Validate, ve ReinitializeMetaData yöntemleri.Hakkında daha fazla bilgi için Validate ve ReinitializeMetaDataiçin bkz: Bir veri akışı bileşeni doğrulanıyor.

ProvideComponentProperties yöntemi

Bir bileşeninin başlatılması oluşan ProvideComponentProperties yöntem.Bu yöntem çaðrýlýr SSIS bir bileşeni eklendiğinde Tasarımcısı veri akışı görevi ve bir sınıf kurucusunu. için benzerBileşen geliştiricileri oluşturmak ve bunların girdileri, çıktıları ve özel özellikleri bu yöntem çağrısı sırasında başlatın.The ProvideComponentProperties method differs from a constructor because it is not called every time that the design-time instance or run-time instance of the component is instantiated.

Temel sınıf uygulaması, yöntem bir giriş ve bir çıkış için bileşeni ekler ve giriş için kimlik atar SynchronousInputID özellik.Bununla birlikte, SQL Server, temel sınıfı tarafından eklenen nesneleri giriş ve çıkış yok adlı.Giriş veya çıkış bir bileşeni içeren paketler whose nesneleri Name özellik değil küme başarıyla yüklenemedi. olurTemel uygulama kullandığınızda, bu nedenle, değerleri çok açıkça atamanız gerekir Name özellik varsayılan girdi ve çıktı.

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 yöntem olduğu yere bileşen geliştiricileri özel özellikler eklemeniz gerekir (IDTSCustomProperty100) bileşeni.Özel özelliklere sahip bir veri türü özellik.özellikn veri türü olan küme atadığınız değerin veri türü olarak kendi Value özellik.Ancak, özel özellik için bir başlangıç değeri atadıktan sonra farklı bir veri türüne bir değer atayamazsınız.

Not

The IDTSCustomProperty100 interface has limited support for property values of type Object.Özel özellik değeri olarak depolayabileceği yalnızca basit türler olarak dizeleri veya tamsayı dizisi nesnesidir.

Kendi özel özellik değerini ayarlayarak özelliği ifadeleri destekler göstermek onun ExpressionType özelliğine CPET_NOTIFY dan DTSCustomPropertyExpressionType numaralandırma, gösterildiği gibi aşağıdaki örnek.İşlemek için veya özellik doğrulamak için herhangi bir kodu eklemek olan ifade kullanıcı tarafından girilen.Bu özellik için varsayılan değer küme, onun değerini doğrulamak ve okuyun ve değeri normal olarak kullanın.

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

Kullanarak bir numaralandırmadan özel özellik değerini seçmek için kullanıcılar sınırlayabilirsiniz TypeConverter özelliği, aşağıdaki örnekte olduğu varsayılır, tanımladığınız adlı ortak bir numaralandırma göründüğü 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 "Genelleştirilmiş türü dönüştürme" konusuna bakın. ve "Uygulama türü dönüştürücü" de msdn Kitaplığı.

Bir sizin özel özellik değeri için özel Düzenleyici iletişim kutusunu kullanarak belirtmek UITypeEditor özelliği, gösterildiği gibi aşağıdaki örnek.İlk olarak, devraldığı düzenleyen özel bir tür oluşturmanız gerekir System.Drawing.Design.UITypeEditor, yoksa varolan kullanıcı Arabirimi tipi bir Düzenleyicisi sınıfı uyar bulamıyorsunuzkendi gereksinimlerine göre.

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

Daha sonra 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

Daha fazla bilgi için bkz: "Uygulama bir kullanıcı Arabirimi tipi Düzenleyici" de msdn Kitaplığı.

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.