Click to Rate and Give Feedback
Community Content
In this section
Statistics Annotations (0)
Collapse All/Expand All Collapse All
Other versions are also available for the following:
VariableDispenser Class

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

Namespace: Microsoft.SqlServer.Dts.Runtime
Assembly: Microsoft.SqlServer.ManagedDTS (in microsoft.sqlserver.manageddts.dll)
VisualBasicDeclaration
Public NotInheritable Class VariableDispenser
    Inherits DtsObject
CSharp
public sealed class VariableDispenser : DtsObject
ManagedCPlusPlus
public ref class VariableDispenser sealed : public DtsObject
JSharp
public final class VariableDispenser extends DtsObject
JScript
public final class VariableDispenser extends DtsObject

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.

ms213233.note(en-us,SQL.100).gifImportant:
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.


System.Object
   Microsoft.SqlServer.Dts.Runtime.DtsObject
    Microsoft.SqlServer.Dts.Runtime.VariableDispenser
Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server.
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker