IDTSVirtualInput100.SetUsageType(Int32, DTSUsageType) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Mappe un objet de colonne d'entrée virtuelle et définit son type d'utilisation.
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
Paramètres
- lLineageID
- Int32
LineageID de l'objet IDTSVirtualInputColumn100 qui est en cours de mappage.
- eUsageType
- DTSUsageType
Valeur de l'énumération DTSUsageType qui indique la façon dont la colonne d'entrée est utilisée par le composant.
Retours
Index de l'objet IDTSInputColumn100 nouvelle créé ou -1 si eUsageType
est UT_IGNORED et si la colonne est supprimée de la collection de colonnes d'entrée.
- Attributs
Exemples
L’exemple de code suivant montre l’implémentation substituée d’un composant de SetUsageType qui utilise l’entrée virtuelle pour ajouter et supprimer des colonnes de la collection d’entrée SetUsageType . Dans cet exemple, le composant n’autorise pas l’écriture des colonnes, donc quand eUsageType
une exception se UT_READWRITE produit.
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
Remarques
Les développeurs de composants personnalisés appellent cette méthode, généralement dans leur implémentation remplacée de la méthode de classe SetUsageType de base, pour ajouter ou supprimer des colonnes de la collection de colonnes d’entrée du composant. Si eUsageType
a la valeur UT_IGNOREDet que la colonne a déjà été ajoutée à la collection de colonnes d’entrée du composant, l’index de colonne est supprimé. Si eUsageType
a la valeur UT_READONLYou UT_READWRITE, la colonne est ajoutée à la collection.
Cette méthode ne doit pas être appelée par les développeurs qui créent par programme une tâche de flux de données et sélectionnent des colonnes pour les composants de la tâche. Au lieu de cela, la SetUsageType méthode de l’instance au moment du design du composant doit être appelée. L’appel de cette méthode contourne directement la capacité du composant à restreindre les colonnes par type de données ou par type d’utilisation.