IDTSVirtualInput100.SetUsageType(Int32, DTSUsageType) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memetakan objek kolom input virtual dan mengatur jenis penggunaannya.
public:
int SetUsageType(int lLineageID, Microsoft::SqlServer::Dts::Pipeline::Wrapper::DTSUsageType eUsageType);
[System.Runtime.InteropServices.DispId(104)]
public int SetUsageType (int lLineageID, Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSUsageType eUsageType);
[<System.Runtime.InteropServices.DispId(104)>]
abstract member SetUsageType : int * Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSUsageType -> int
Public Function SetUsageType (lLineageID As Integer, eUsageType As DTSUsageType) As Integer
Parameter
- lLineageID
- Int32
dari LineageIDIDTSVirtualInputColumn100 yang sedang dipetakan.
- eUsageType
- DTSUsageType
Nilai dari DTSUsageType enumerasi yang menunjukkan bagaimana kolom input digunakan oleh komponen.
Mengembalikan
Indeks dari , atau -1 yang baru dibuat IDTSInputColumn100jika eUsageType adalah UT_IGNORED dan kolom dihapus dari kumpulan kolom input.
- Atribut
Contoh
Contoh kode berikut menunjukkan implementasi SetUsageType komponen yang ditimpa yang menggunakan input SetUsageType virtual untuk menambahkan dan menghapus kolom dari koleksi input. Dalam contoh ini, komponen tidak memungkinkan kolom untuk ditulis sehingga ketika eUsageType pengecualian UT_READWRITE terjadi.
public override IDTSInputColumn100 SetUsageType(int inputID, IDTSVirtualInput100 virtualInput, int lineageID, DTSUsageType usageType)
{
// Prevent use of read/write columns.
if (usageType == DTSUsageType.UT_READWRITE)
throw new Exception("Read write columns prohibited.");
// Get the input specified by inputID.
IDTSInput100 input = ComponentMetaData.InputCollection.GetObjectByID(inputID);
int index = virtualInput.SetUsageType(lineageID, usageType);
// If the index is not -1, return the column.
// NOTE: The index that is returned is 1-based, but the input column collection is 0-based.
if ( index != -1 )
return input.InputColumnCollection[index-1];
// The column was removed, so return null.
return null;
}
Public Overrides Function SetUsageType(ByVal inputID As Integer, ByVal virtualInput As IDTSVirtualInput100, ByVal lineageID As Integer, ByVal usageType As DTSUsageType) As IDTSInputColumn100
If usageType = DTSUsageType.UT_READWRITE Then
Throw New Exception("Read write columns prohibited.")
End If
Dim input As IDTSInput100 = ComponentMetaData.InputCollection.GetObjectByID(inputID)
Dim index As Integer = virtualInput.SetUsageType(lineageID, usageType)
If Not (index = -1) Then
Return input.InputColumnCollection(index - 1)
End If
Return Nothing
End Function
Keterangan
Pengembang komponen kustom memanggil metode ini, biasanya dalam implementasi yang diambil alih dari metode kelas SetUsageType dasar, untuk menambahkan atau menghapus kolom dari kumpulan kolom input komponen. Jika eUsageType adalah UT_IGNORED, dan kolom sebelumnya telah ditambahkan ke kumpulan kolom input komponen, indeks kolom dihapus. Jika eUsageType adalah UT_READONLY, atau UT_READWRITE, kolom ditambahkan ke koleksi.
Metode ini tidak boleh dipanggil oleh pengembang yang secara terprogram membuat tugas aliran data dan memilih kolom untuk komponen dalam tugas. Sebaliknya, SetUsageType metode instans waktu desain komponen harus dipanggil. Memanggil metode ini secara langsung melewati kemampuan komponen untuk membatasi kolom berdasarkan jenis data atau jenis penggunaan.