Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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