Dil

Dış Meta Verileri Uygulama

Şunlar için geçerlidir:SQL Server Azure Data Factory'de SSIS Tümleştirme Çalışma Zamanı

Bir bileşen veri kaynağından kopuk olduğunda, giriş ve çıkış sütun koleksiyonlarındaki sütunları, arayüz kullanarak harici veri kaynağındaki IDTSExternalMetadataColumnCollection100 sütunlara karşı doğrulayabilirsiniz. Bu arayüz, harici veri kaynağındaki sütunların anlık görüntüsünü tutmanıza ve bu sütunları bileşenin giriş ve çıkış sütun koleksiyonundaki sütunlara eşlemenize olanak tanır.

Harici meta veri sütunlarının uygulanması, bileşen geliştirmeye ek bir yük ve karmaşıklık katmanı ekler; çünkü ek bir sütun koleksiyonunu koruma ve doğrulama yapmanız gerekir, ancak doğrulama için sunucuya pahalı gidiş-dönüş yollarından kaçınma imkanı bu geliştirmeyi değerli kılabilir.

Dış Meta Veri Sütunlarının Doldurulması

Dış meta veri sütunları genellikle ilgili giriş veya çıkış sütunu oluşturulduğunda koleksiyona eklenir. Yeni sütunlar New yöntem çağrılarak oluşturulur. Sütunun özellikleri daha sonra harici veri kaynağına uygun şekilde ayarlanır.

Harici meta veri sütunu, harici metaveri sütununun ID'si giriş ExternalMetadataColumnID veya çıktı sütununun özelliğine atanarak ilgili giriş veya çıktı sütununa eşlenir. Bu, koleksiyonun yöntemini kullanarak GetObjectByID belirli bir giriş veya çıkış sütunu için harici metaveri sütununu kolayca bulmanızı sağlar.

Aşağıdaki örnek, harici bir meta veri sütunu oluşturulmasını ve ardından bu ExternalMetadataColumnID özelliği ayarlayarak sütunu çıkış sütununa eşlemeyi gösterir.

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  

Dış Meta Veri Sütunlarıyla Doğrulama

Doğrulama, harici meta veri sütunu koleksiyonunu tutan bileşenler için ek adımlar gerektirir, çünkü ek bir sütun koleksiyonuna karşı doğrulama yapmanız gerekir. Doğrulama, bağlantılı doğrulama veya bağlantısız doğrulama olarak ikiye ayrılabilir.

Bağlantılı Doğrulama

Bir bileşen harici bir veri kaynağına bağlandığında, giriş veya çıktı koleksiyonlarındaki sütunlar doğrudan harici veri kaynağına karşı doğrulanır. Ayrıca, harici meta veri koleksiyonundaki sütunlar doğrulanmalıdır. Bu, harici meta veri koleksiyonunun SQL Server Veri Araçları'taki (SSDT) Gelişmiş Düzenleyici kullanılarak değiştirilebilmesi ve koleksiyonda yapılan değişikliklerin tespit edilmemesi nedeniyle gereklidir. Bu nedenle, bağlandığında, bileşenler harici meta veri sütunu koleksiyonundaki sütunların dış veri kaynağındaki sütunları yansıtmaya devam ettiğinden emin olmalıdır.

Koleksiyonun özelliğini IsUsedfalse olarakayarlayarak harici meta veri koleksiyonunu Gelişmiş Düzenleyici'da gizleyebilirsiniz. Ancak bu aynı zamanda düzenleyicinin Column Mapping sekmesini de gizler; bu sekme, kullanıcıların giriş veya çıktı koleksiyonundan sütunları harici meta veri sütun koleksiyonundaki sütunlara eşlemesine olanak tanır. Bu özelliğin false olarak ayarlanması, geliştiricilerin koleksiyonu programatik olarak değiştirmesini engellemez, ancak yalnızca SQL Server Veri Araçları (SSDT)'de kullanılan bir bileşenin harici meta veri sütunu koleksiyonu için bir koruma seviyesi sağlar.

Bağlantısı Kesilen Doğrulama

Bir bileşen harici bir veri kaynağından kopuk olduğunda, doğrulama basitleştirilir çünkü giriş veya çıktı koleksiyonundaki sütunlar doğrudan harici meta veri koleksiyonundaki sütunlara karşı doğrulanır, harici kaynakla değil. Bir bileşen, dış veri kaynağına bağlantı kurulmadığında veya özellik ValidateExternalMetadatayanlış olduğunda bağlantısı kesilmiş doğrulama gerçekleştirmelidir.

Aşağıdaki kod örneği, harici meta veri sütun koleksiyonuna karşı doğrulama yapan bir bileşenin uygulanmasını göstermektedir.

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