Freigeben über


VariableDispenser-Klasse

Accesses the Variables collection during package execution. This class cannot be inherited.

Vererbungshierarchie

System. . :: . .Object
  Microsoft.SqlServer.Dts.Runtime. . :: . .DtsObject
    Microsoft.SqlServer.Dts.Runtime..::..VariableDispenser

Namespace:  Microsoft.SqlServer.Dts.Runtime
Assembly:  Microsoft.SqlServer.ManagedDTS (in Microsoft.SqlServer.ManagedDTS.dll)

Syntax

'Declaration
Public NotInheritable Class VariableDispenser _
    Inherits DtsObject
'Usage
Dim instance As VariableDispenser
public sealed class VariableDispenser : DtsObject
public ref class VariableDispenser sealed : public DtsObject
[<SealedAttribute>]
type VariableDispenser =  
    class
        inherit DtsObject
    end
public final class VariableDispenser extends DtsObject

Der VariableDispenser-Typ macht folgende Elemente verfügbar.

Methoden

  Name Beschreibung
Öffentliche Methode Contains Specifies whether an item can be retrieved from the VariableDispenser collection by using indexing without throwing an exception.
Öffentliche Methode Equals Determines whether two object instances are equal. (Geerbt von DtsObject.)
Geschützte Methode Finalize (Geerbt von Object.)
Öffentliche Methode GetHashCode Returns the hash code for this instance. (Geerbt von DtsObject.)
Öffentliche Methode GetQualifiedName Returns the qualified name of the variable.
Öffentliche Methode GetType (Geerbt von Object.)
Öffentliche Methode GetVariables Locks the variables that are in the read-only list and the read/write list.
Öffentliche Methode LockForRead Adds the variable to the list of variables to be locked for read-only access.
Öffentliche Methode LockForWrite Adds the variable to the list of variables to be locked for read/write access.
Öffentliche Methode LockOneForRead Puts the variable in a list, and then locks it for read-only access.
Öffentliche Methode LockOneForWrite Puts the variable in a list, and then locks it for read/write access.
Geschützte Methode MemberwiseClone (Geerbt von Object.)
Öffentliche Methode Reset Clears both the read-only list and read/write list when the call to GetVariables fails.
Öffentliche Methode ToString (Geerbt von Object.)

Zum Anfang

Hinweise

There are two scenarios for using the variable dispenser.

  1. You want just one variable. In this scenario, call LockOneForRead or LockOneForWrite, and a collection with one element is returned.

  2. You want several variables. In this scenario, call LockForRead and LockForWrite several times, one for each variable. This builds up two lists, one list that contains variables for reading and one list that contains variables for writing. Next, call GetVariables, which gives you a collection that contains all of the locked variables. If GetVariables succeeds, the two lists, which are the lists of variable names, not actual locks, are cleared.

To explicitly release the locks, call Unlock on the collection. This method unlocks the variables themselves. If GetVariables fails, the lists remain unchanged, and you can call GetVariables again. If you still do not succeed in obtaining the variables, call Reset to clear the lists and bring the variable dispenser back to its initial state.

The Variables collection contains a Locked property that indicates whether a variable dispenser collection of variables is locked (true) or unlocked (false). The reason to review this property is that some tasks explicitly release locks to the variables they are using, and calling Unlock twice throws an error. Therefore, you should use this property to determine whether the dispensed collection is locked before calling Unlock.

Wichtiger HinweisWichtig

The VariableDispenser is used with the Runtime classes. If you are using data flow components (Microsoft.SqlServer.Dts.Pipeline), then you may be required to use the IDTSVariableDispenser100 instead. To know which variable dispenser to use, see the documentation for the object you are acquiring variables on, and verify the return object of the method.

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Elemente dieses Typs sind Threadsicher. Für Instanzelemente wird die Threadsicherheit nicht gewährleistet.