VariableDispenser 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在包执行期间访问 Variables 集合。 此类不能被继承。
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
- 继承
注解
使用变量分配器有两种方案。
只需要一个变量。 在此方案中,将返回具有一个元素的调用 LockOneForRead 或 LockOneForWrite集合。
需要多个变量。 在此方案中,调用并LockForWrite多次为每个变量调用LockForRead一次。 这会生成两个列表,一个列表包含用于读取的变量,一个列表包含用于写入的变量。 接下来,调用 GetVariables,它提供一个包含所有锁定变量的集合。 如果 GetVariables 成功,将清除这两个列表,这些列表是变量名称的列表,而不是实际锁的列表。
若要显式释放锁,请调用 Unlock 集合。 此方法可自行解锁变量。 如果 GetVariables 失败,列表保持不变,你可以再次调用 GetVariables 。 如果仍然不成功获取变量,请调用 Reset 清除列表并将变量分配器带回其初始状态。
该 Variables 集合包含一个 Locked 属性,该属性指示变量分配器集合是锁定 () true
还是解锁 () false
。 查看此属性的原因是,某些任务显式释放它们正在使用的变量的锁,并调用 Unlock 两次会引发错误。 因此,应使用此属性来确定分配集合在调用 Unlock之前是否已锁定。
重要
该类 VariableDispenser 与运行时类一起使用。 如果使用数据流组件 (Microsoft.SqlServer.Dts.Pipeline) ,则可能需要改用数据流组件 IDTSVariableDispenser100 。 若要了解要使用的变量分配器,请参阅要获取变量的对象的文档,并验证方法的返回对象。
方法
Contains(String) |
指定是否可以通过使用索引来检索 VariableDispenser 集合中的项而不引发异常。 |
Equals(Object) |
确定两个对象实例是否相等。 (继承自 DtsObject) |
GetHashCode() |
返回此实例的哈希代码。 (继承自 DtsObject) |
GetQualifiedName(String) |
返回变量的限定名称。 |
GetVariables(Variables) |
锁定只读列表和读/写列表中的变量。 |
LockForRead(String) |
将变量添加到要锁定用于只读访问的变量列表。 |
LockForWrite(String) |
将变量添加到要锁定用于读/写访问的变量列表。 |
LockOneForRead(String, Variables) |
将变量放入列表中,然后锁定它以进行只读访问。 |
LockOneForWrite(String, Variables) |
将变量放入列表中,然后锁定它以进行读/写访问。 |
Reset() |
GetVariables(Variables) 调用失败时,清除只读列表和读/写列表。 |