Freigeben über


VariableDispenser Klasse

Definition

Greift während der Paketausführung auf die Variables-Auflistung zu. Diese Klasse kann nicht vererbt werden.

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
Vererbung
VariableDispenser

Hinweise

Es gibt zwei Szenarien für die Verwendung des Variablenspenders.

  1. Sie möchten nur eine Variable. In diesem Szenario wird ein Aufruf LockOneForRead oder LockOneForWriteeine Auflistung mit einem Element zurückgegeben.

  2. Sie möchten mehrere Variablen. Rufen Sie LockForReadLockForWrite in diesem Szenario eine und mehrmals für jede Variable auf. Dadurch werden zwei Listen erstellt, eine Liste, die Variablen zum Lesen und eine Liste enthält, die Variablen zum Schreiben enthält. Rufen Sie als Nächstes eine GetVariablesAuflistung auf, die alle gesperrten Variablen enthält. Wenn GetVariables dies erfolgreich ist, werden die beiden Listen mit Variablennamen und nicht tatsächlichen Sperren gelöscht.

Um die Sperrungen explizit freizugeben, rufen Sie die Sammlung auf Unlock . Diese Methode entsperrt die Variablen selbst. Wenn GetVariables ein Fehler auftritt, bleiben die Listen unverändert, und Sie können erneut aufrufen GetVariables . Wenn Sie weiterhin nicht erfolgreich sind, die Variablen abzurufen, rufen Sie Reset die Listen auf, und bringen Sie den Variablenspender wieder in den Anfangszustand.

Die Variables Auflistung enthält eine Eigenschaft, die angibt, ob eine Locked Variablenauflistung von Variablen gesperrt () oder entsperrt (truefalse) ist. Der Grund für die Überprüfung dieser Eigenschaft besteht darin, dass einige Aufgaben Sperrungen explizit für die verwendeten Variablen freigeben und zweimal einen Fehler auslösen Unlock . Daher sollten Sie diese Eigenschaft verwenden, um zu bestimmen, ob die ausgegebene Auflistung vor dem Aufrufen Unlockgesperrt ist.

Wichtig

Dies VariableDispenser wird mit den Runtime-Klassen verwendet. Wenn Sie Datenflusskomponenten (Microsoft.SqlServer.Dts.Pipeline) verwenden, müssen Sie möglicherweise stattdessen die IDTSVariableDispenser100 Datenflusskomponenten verwenden. Informationen dazu, welche Variablenspender verwendet werden sollen, finden Sie in der Dokumentation für das Objekt, auf dem Sie Variablen erwerben, und überprüfen Sie das Rückgabeobjekt der Methode.

Methoden

Contains(String)

Gibt an, ob ein Element mithilfe der Indizierung aus der VariableDispenser-Auflistung abgerufen werden kann, ohne eine Ausnahme auszulösen.

Equals(Object)

Stellt fest, ob zwei Objektinstanzen gleich sind.

(Geerbt von DtsObject)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

(Geerbt von DtsObject)
GetQualifiedName(String)

Gibt den qualifizierten Namen der Variablen zurück.

GetVariables(Variables)

Sperrt die Variablen, die in der Liste für schreibgeschützten Zugriff und der Liste für Lese-/Schreibzugriff enthalten sind.

LockForRead(String)

Fügt die Variable der Liste der Variablen hinzu, die für den schreibgeschützten Zugriff gesperrt werden sollen.

LockForWrite(String)

Fügt die Variable der Liste der Variablen hinzu, die für den Lese-/Schreibzugriff gesperrt werden sollen.

LockOneForRead(String, Variables)

Fügt die Variable in eine Liste ein und sperrt sie für den schreibgeschützten Zugriff.

LockOneForWrite(String, Variables)

Fügt die Variable in eine Liste ein und sperrt sie für den Lese-/Schreibzugriff.

Reset()

Bereinigt sowohl die Liste für schreibgeschützten Zugriff als auch die Liste für Lese-/Schreibzugriff, wenn beim Aufruf von GetVariables(Variables) ein Fehler auftritt.

Gilt für: