Dış meta veri uygulama

Bir bileşen veri kaynağı bağlantısı kesildiğinde kullanarak sütunları sütun, dış veri kaynağına karşı girdi ve çıktı sütunu koleksiyonları doğrulayabilirsiniz IDTSExternalMetadataColumnCollection100arabirimi. Bu arabirim, sütun, dış veri kaynağına anlık korumak ve bu sütunlar bileşen giriş ve çıkış sütun koleksiyonu sütunlarda eşleştirin sağlar.

Dış meta veri sütunları uygulama yükünü ve karmaşıklık bileşen geliştirme, korumak ve bir ek sütun koleksiyonu karşı doğrulamak gerekir, ancak pahalı tur gezileri için doğrulama sunucusuna kaçınmak yeteneği iş bu gelişme değerli yapabilir çünkü ekler.

Dış meta veri sütunları doldurma

İlgili girdi veya çıktı sütunu oluşturulduğunda dış meta veri sütunları genellikle derlemesine eklenir. Yeni sütun çağrılarak oluşturulan Newyöntemi. Sütunun özelliklerini, sonra dış veri kaynağına uyacak şekilde ayarlanır.

Dış meta veri sütunu için ilgili girdi veya çıktı sütunu dış meta veri sütunu kimliği atayarak eşlenen ExternalMetadataColumnIDgirdi veya çıktı sütunu özelliği. Bu kullanarak dış meta veri sütunu belirli girdi veya çıktı sütunu için kolayca bulmanıza olanak tanır GetObjectByIDtoplama yöntemi.

Aşağıdaki örnek bir dış meta veri sütunu oluşturun ve sonra sütun ayarlayarak bir çıkış sütunu eşlemek gösterilmiştir ExternalMetadataColumnIDözellik.

public void CreateExternalMetaDataColumn(IDTSOutput100 output, int outputColumnID )
{
    IDTSOutputColumn100 oColumn = output.OutputColumnCollection.GetObjectByID(outputColumnID);
    IDTSExternalMetadataColumn100 eColumn = output.ExternalMetadataColumnCollection.New();

    eColumn.DataType = oColumn.DataType;
    eColumn.Precision = oColumn.Precision;
    eColumn.Scale = oColumn.Scale;
    eColumn.Length = oColumn.Length;
    eColumn.CodePage = oColumn.CodePage;

    oColumn.ExternalMetadataColumnID = eColumn.ID;
}
public void CreateExternalMetaDataColumn(IDTSOutput100 output, int outputColumnID )
{
    IDTSOutputColumn100 oColumn = output.OutputColumnCollection.GetObjectByID(outputColumnID);
    IDTSExternalMetadataColumn100 eColumn = output.ExternalMetadataColumnCollection.New();

    eColumn.DataType = oColumn.DataType;
    eColumn.Precision = oColumn.Precision;
    eColumn.Scale = oColumn.Scale;
    eColumn.Length = oColumn.Length;
    eColumn.CodePage = oColumn.CodePage;

    oColumn.ExternalMetadataColumnID = eColumn.ID;
}
Public Sub CreateExternalMetaDataColumn(ByVal output As IDTSOutput100, ByVal outputColumnID As Integer) 
 Dim oColumn As IDTSOutputColumn100 = output.OutputColumnCollection.GetObjectByID(outputColumnID) 
 Dim eColumn As IDTSExternalMetadataColumn100 = output.ExternalMetadataColumnCollection.New 
 eColumn.DataType = oColumn.DataType 
 eColumn.Precision = oColumn.Precision 
 eColumn.Scale = oColumn.Scale 
 eColumn.Length = oColumn.Length 
 eColumn.CodePage = oColumn.CodePage 
 oColumn.ExternalMetadataColumnID = eColumn.ID 
End Sub
Public Sub CreateExternalMetaDataColumn(ByVal output As IDTSOutput100, ByVal outputColumnID As Integer) 
 Dim oColumn As IDTSOutputColumn100 = output.OutputColumnCollection.GetObjectByID(outputColumnID) 
 Dim eColumn As IDTSExternalMetadataColumn100 = output.ExternalMetadataColumnCollection.New 
 eColumn.DataType = oColumn.DataType 
 eColumn.Precision = oColumn.Precision 
 eColumn.Scale = oColumn.Scale 
 eColumn.Length = oColumn.Length 
 eColumn.CodePage = oColumn.CodePage 
 oColumn.ExternalMetadataColumnID = eColumn.ID 
End Sub

Dış meta veri sütunları ile doğrulanıyor

Çünkü bir ek sütunlar koleksiyonu karşı doğrulamak gerekir doğrulama bir dış meta veri sütunu koleksiyonu korumak bileşenler için ek adımlar gerektirir. Doğrulama bağlı doğrulama ayrılabilir veya doğrulama bağlantısı kesildi.

Bağlı doğrulama

Bir bileşeni bir dış veri kaynağına bağlandığında, girdi veya çıktı koleksiyonları sütunları doğrudan dış veri kaynağına karşı doğrulanır. Ayrıca, dış meta veri toplama sütunları doğrulanması gerekir. Dış meta veri toplama kullanılarak değiştirilebilir bu gereklidir, çünkü Gelişmiş Düzenleyici de SQL Server Veri Akışı Araçları (SSDT), ve koleksiyona yapılan değişiklikleri algılanabilir değildir. Bu nedenle, bağlı olan bileşenleri dış meta verileri sütun koleksiyonu sütunları sütun dış veri kaynağı yansıtacak şekilde devam emin olmanız gerekir.

Sen-ebilmek seçmek-e dış meta veri derlemesi içinde gizlemek Gelişmiş Düzenleyici ayarlayarak IsUsedKoleksiyon özelliği false. Ancak bu da gizler Sütun eşleme lets kullanıcı sütunları giriş veya çıkış koleksiyonundan dış meta verileri sütun koleksiyonu sütunları eşleştirmek Düzenleyicisi sekmesi. Bu özelliği ayarlamak falsegeliştiricilerin programlı olarak toplama değiştirmesini önlemek değil ama özel olarak kullanılan bir bileşeni dış meta verileri sütun koleksiyonu için koruma düzeyi sağlamak SQL Server Veri Akışı Araçları (SSDT).

Bağlantısı kesilmiş doğrulama

Bir bileşeni bir dış veri kaynağından bağlantısı kesildiğinde, girdi veya çıktı toplama sütunları doğrudan sütunları dış meta veri toplama ve dış kaynak değil karşı doğrulanır çünkü doğrulama basitleştirilmiştir. Bir bileşeni dış veri kaynağına bağlantı kurmuştur değil veya zaman kesilmiş doğrulama gerçekleştirmek ValidateExternalMetadataözelliği false.

Aşağıdaki kod örneği karşı onun dış meta verileri sütun koleksiyonu doğrulama gerçekleştiren bileşeni gösterilmiştir. Daha ayrıntılı bir örnek için bkz: ADO Source Component Sample.

public override DTSValidationStatus Validate()
{
    if( this.isConnected && ComponentMetaData.ValidateExternalMetaData )
    {
        // TODO: Perform connected validation.
    }
    else
    {
        // TODO: Perform disconnected validation.
    }
}
public override DTSValidationStatus Validate()
{
    if( this.isConnected && ComponentMetaData.ValidateExternalMetaData )
    {
        // TODO: Perform connected validation.
    }
    else
    {
        // TODO: Perform disconnected validation.
    }
}
Public  Overrides Function Validate() As DTSValidationStatus 
 If Me.isConnected AndAlso ComponentMetaData.ValidateExternalMetaData Then 
  ' TODO: Perform connected validation.
 Else 
  ' TODO: Perform disconnected validation.
 End If 
End Function
Public  Overrides Function Validate() As DTSValidationStatus 
 If Me.isConnected AndAlso ComponentMetaData.ValidateExternalMetaData Then 
  ' TODO: Perform connected validation.
 Else 
  ' TODO: Perform disconnected validation.
 End If 
End Function
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ışı