Bagikan melalui


Menerapkan Metadata Eksternal

Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory

Saat komponen terputus dari sumber datanya, Anda dapat memvalidasi kolom dalam kumpulan kolom input dan output terhadap kolom di sumber data eksternalnya dengan menggunakan IDTSExternalMetadataColumnCollection100 antarmuka. Antarmuka ini memungkinkan Anda mempertahankan rekam jepret kolom di sumber data eksternal dan memetakan kolom ini ke kolom dalam kumpulan kolom input dan output komponen.

Menerapkan kolom metadata eksternal menambahkan lapisan overhead dan kompleksitas ke pengembangan komponen, karena Anda harus mempertahankan dan memvalidasi terhadap koleksi kolom tambahan, tetapi kemampuan untuk menghindari perjalanan pulang pergi yang mahal ke server untuk validasi dapat membuat pengembangan ini berfungsi dengan baik.

Mengisi Kolom Metadata Eksternal

Kolom metadata eksternal biasanya ditambahkan ke koleksi saat kolom input atau output yang sesuai dibuat. Kolom baru dibuat dengan memanggil New metode . Properti kolom kemudian diatur agar sesuai dengan sumber data eksternal.

Kolom metadata eksternal dipetakan ke kolom input atau output yang sesuai dengan menetapkan ID kolom metadata eksternal ke ExternalMetadataColumnID properti kolom input atau output. Ini memungkinkan Anda menemukan kolom metadata eksternal dengan mudah untuk kolom input atau output tertentu dengan menggunakan GetObjectByID metode pengumpulan.

Contoh berikut menunjukkan cara membuat kolom metadata eksternal lalu memetakan kolom ke kolom output dengan mengatur ExternalMetadataColumnID properti .

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  

Memvalidasi dengan Kolom Metadata Eksternal

Validasi memerlukan langkah tambahan untuk komponen yang mempertahankan kumpulan kolom metadata eksternal, karena Anda harus memvalidasi terhadap kumpulan kolom tambahan. Validasi dapat dibagi menjadi validasi terhubung atau validasi terputus.

Validasi Tersambung

Saat komponen tersambung ke sumber data eksternal, kolom dalam kumpulan input atau output diverifikasi langsung terhadap sumber data eksternal. Selain itu, kolom dalam koleksi metadata eksternal harus divalidasi. Ini diperlukan karena koleksi metadata eksternal dapat dimodifikasi dengan menggunakan Editor Lanjutan di SQL Server Data Tools (SSDT), dan perubahan yang dilakukan pada koleksi tidak dapat dideteksi. Oleh karena itu, saat tersambung, komponen harus memastikan bahwa kolom dalam kumpulan kolom metadata eksternal terus mencerminkan kolom di sumber data eksternal.

Anda dapat memilih untuk menyembunyikan koleksi metadata eksternal di Editor Lanjutan dengan mengatur IsUsed properti koleksi ke false. Namun ini juga menyembunyikan tab Pemetaan Kolom editor, yang memungkinkan pengguna memetakan kolom dari koleksi input atau output ke kolom dalam kumpulan kolom metadata eksternal. Mengatur properti ini ke false tidak mencegah pengembang memodifikasi koleksi secara terprogram, tetapi memberikan tingkat perlindungan untuk kumpulan kolom metadata eksternal komponen yang digunakan secara eksklusif di SQL Server Data Tools (SSDT).

Validasi Terputus

Ketika komponen terputus dari sumber data eksternal, validasi disederhanakan karena kolom dalam kumpulan input atau output diverifikasi langsung terhadap kolom dalam koleksi metadata eksternal dan bukan terhadap sumber eksternal. Komponen harus melakukan validasi terputus ketika koneksi ke sumber data eksternalnya belum dibuat, atau ketika ValidateExternalMetadata properti salah.

Contoh kode berikut menunjukkan implementasi komponen yang melakukan validasi terhadap kumpulan kolom metadata eksternalnya.

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  

Lihat Juga

Aliran Data