IDTSVirtualInput100.SetUsageType(Int32, DTSUsageType) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
public:
int SetUsageType(int lLineageID, Microsoft::SqlServer::Dts::Pipeline::Wrapper::Sql2012::DTSUsageType eUsageType);
[System.Runtime.InteropServices.DispId(104)]
public int SetUsageType(int lLineageID, Microsoft.SqlServer.Dts.Pipeline.Wrapper.Sql2012.DTSUsageType eUsageType);
[<System.Runtime.InteropServices.DispId(104)>]
abstract member SetUsageType : int * Microsoft.SqlServer.Dts.Pipeline.Wrapper.Sql2012.DTSUsageType -> int
Public Function SetUsageType (lLineageID As Integer, eUsageType As DTSUsageType) As Integer
Parameter
- lLineageID
- Int32
- eUsageType
- DTSUsageType
Gibt zurück
Der Index des neu erstellten IDTSInputColumn100, oder -1 if ist eUsageType UT_IGNORED und die Spalte wird aus der Eingabespaltensammlung entfernt.
- Attribute
Beispiele
Das folgende Codebeispiel zeigt die überschriebene Implementierung von einer SetUsageType Komponente, die das virtuelle Eingabe-SetUsageType verwendet, um Spalten aus der Eingabesammlung hinzuzufügen und zu entfernen. In diesem Beispiel erlaubt die Komponente nicht, dass Spalten beschreibbar sind, sodass bei eUsageType UT_READWRITE eine Ausnahme auftritt.
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
Hinweise
Entwickler benutzerdefinierter Komponenten verwenden diese Methode, meist in ihrer überschriebenen Implementierung der Basisklassenmethode SetUsageType , um Spalten aus der Eingabespaltensammlung der Komponente hinzuzufügen oder zu entfernen. Wenn eUsageType UT_IGNORED ist und die Spalte zuvor zur Eingabespaltensammlung der Komponente hinzugefügt wurde, wird der Spaltenindex entfernt. Wenn eUsageType UT_READONLY oder UT_READWRITE ist, wird die Spalte der Sammlung hinzugefügt.
Diese Methode sollte von Entwicklern, die programmatisch eine Datenflussaufgabe erstellen und Spalten für die Komponenten der Aufgabe auswählen, nicht aufgerufen werden. Stattdessen sollte die SetUsageType Methode der Design-Time-Instanz der Komponente aufgerufen werden. Das Aufrufen dieser Methode umgeht direkt die Möglichkeit der Komponente, Spalten nach Datentyp oder Nutzungstyp zu beschränken.