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,返回一个包含一个元素的集合。
你需要多个变量。 在这种情况下,调用 LockForRead 和 LockForWrite 多次,每个变量一次。 这会构建两个列表,一个包含用于读取的变量,另一个包含用于写入的变量。 接着调用 GetVariables,给出包含所有锁定变量的集合。 如果 GetVariables 成功,这两个列表(变量名列表,而非实际锁)将被清除。
要明确释放锁具,请联系 Unlock 催收部门。 这种方法解锁了变量本身。 如果 GetVariables 失败,名单保持不变,你可以再次打电话 GetVariables 。 如果仍未能获得变量,请呼叫 Reset 清除列表,将变量分配器恢复到初始状态。
该 Variables 集合包含 Locked 一个属性,指示变量分配器变量集合是锁定true()还是解锁(false)。 之所以要审查这个属性,是因为有些任务会明确释放它们所用变量的锁, Unlock 调用两次会报错。 因此,你应利用该属性判断发放的集合是否被锁定,再调用 Unlock。
Important
该 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) ,清除只读列表和读写列表。 |