VariableDispenser Classe
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.
Accède à la collection Variables pendant l'exécution d'un package. Cette classe ne peut pas être héritée.
public ref class VariableDispenser sealed : Microsoft::SqlServer::Dts::Runtime::DtsObject
public sealed class VariableDispenser : Microsoft.SqlServer.Dts.Runtime.DtsObject
type VariableDispenser = class
inherit DtsObject
Public NotInheritable Class VariableDispenser
Inherits DtsObject
- Héritage
Remarques
Il existe deux scénarios d’utilisation du distributeur variable.
Vous ne voulez qu’une seule variable. Dans ce scénario, appelez LockOneForRead ou LockOneForWrite, et une collection avec un élément est retournée.
Vous souhaitez plusieurs variables. Dans ce scénario, appelez LockForRead et LockForWrite plusieurs fois, un pour chaque variable. Cette opération génère deux listes, une liste qui contient des variables pour la lecture et une liste qui contient des variables à écrire. Ensuite, appelez GetVariables, ce qui vous donne une collection qui contient toutes les variables verrouillées. Si GetVariables elle réussit, les deux listes, qui sont les listes de noms de variables, et non les verrous réels, sont effacées.
Pour libérer explicitement les verrous, appelez Unlock la collection. Cette méthode déverrouille les variables elles-mêmes. En GetVariables cas d’échec, les listes restent inchangées et vous pouvez appeler GetVariables à nouveau. Si vous ne parvenez toujours pas à obtenir les variables, appelez Reset pour effacer les listes et ramener le distributeur de variables à son état initial.
La Variables collection contient une Locked propriété qui indique si une collection de distributeurs de variables est verrouillée (true
) ou déverrouillée (false
). La raison de passer en revue cette propriété est que certaines tâches libèrent explicitement des verrous sur les variables qu’elles utilisent, et l’appel Unlock à deux reprises lève une erreur. Par conséquent, vous devez utiliser cette propriété pour déterminer si la collection distribuée est verrouillée avant d’appeler Unlock.
Important
Utilisé VariableDispenser avec les classes Runtime. Si vous utilisez des composants de flux de données (Microsoft.SqlServer.Dts.Pipeline), vous devrez peut-être utiliser à la IDTSVariableDispenser100 place. Pour savoir quel distributeur de variables utiliser, consultez la documentation de l’objet sur lequel vous achetez des variables et vérifiez l’objet de retour de la méthode.
Méthodes
Contains(String) |
Spécifie si un élément peut être récupéré de la collection VariableDispenser en utilisant l'indexation sans lever d'exception. |
Equals(Object) |
Détermine si les deux instances d'objet sont égales. (Hérité de DtsObject) |
GetHashCode() |
Retourne le code de hachage de cette instance. (Hérité de DtsObject) |
GetQualifiedName(String) |
Retourne le nom complet de la variable. |
GetVariables(Variables) |
Verrouille les variables qui figurent dans les listes en lecture seule et en lecture/écriture. |
LockForRead(String) |
Ajoute la variable à la liste des variables à verrouiller pour l'accès en lecture seule. |
LockForWrite(String) |
Ajoute la variable à la liste des variables à verrouiller pour l'accès en lecture/écriture. |
LockOneForRead(String, Variables) |
Place la variable dans une liste, puis la verrouille pour l'accès en lecture seule. |
LockOneForWrite(String, Variables) |
Place la variable dans une liste, puis la verrouille pour l'accès en lecture/écriture. |
Reset() |
Efface les listes en lecture seule et en lecture/écriture lorsque l'appel à la méthode GetVariables(Variables) échoue. |