VariableDispenser クラス

定義

パッケージ実行中に 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
継承
VariableDispenser

注釈

可変ディスペンサーを使うシナリオは2つあります。

  1. 変数は一つだけが望ましいです。 この場合、 LockOneForRead または LockOneForWriteを呼び出し、1つの要素を持つコレクションが返されます。

  2. いくつかの変数が必要です。 このシナリオでは、 LockForReadLockForWrite を複数回、各変数ごとに呼び出します。 これにより、読み込み用の変数を含むリストと書き込み用の変数を含むリストの2つのリストが構築されます。 次に GetVariablesを呼び出し、すべてのロックされた変数を含むコレクションが得られます。 GetVariables成功すると、実際のロックではなく変数名のリストである2つのリストがクリアされます。

ロックを明確に解放するには、回収 Unlock に連絡してください。 この方法は変数自体を解放します。 GetVariables失敗してもリストは変更されず、再度GetVariablesに連絡できます。 それでも変数を入手できなければ、 Reset に連絡してリストをクリアし、変数ディスペンサーを元の状態に戻してください。

Variablesコレクションには、変数ディスペンサーの変数コレクションがロックされている(true)かアンロックされている(false)かを示す Locked プロパティが含まれています。 このプロパティを確認する理由は、一部のタスクが使用中の変数に明示的にロックを解除し、 Unlock を2回呼び出すとエラーが出るからです。 したがって、この特性を使って、 Unlockに電話する前に、ディスペンションされた回収がロックされているかどうかを判断してください。

Important

VariableDispenserはランタイムクラスと共に使用されます。 データフローコンポーネント(Microsoft.SqlServer.Dts.Pipeline)を使用している場合は、代わりに IDTSVariableDispenser100 を使う必要があるかもしれません。 どの変数ディスペンサーを使うべきか知りたい場合は、変数を取得する対象のドキュメントを確認し、そのメソッドの返還オブジェクトを確認してください。

メソッド

名前 説明
Contains(String)

例外をスローせずにインデックスを用いて VariableDispenser コレクションからアイテムを取得できるかどうかを指定します。

Equals(Object)

2 つのオブジェクト インスタンスが等しいかどうかを判断します。

(継承元 DtsObject)
GetHashCode()

このインスタンスのハッシュ コードを返します。

(継承元 DtsObject)
GetQualifiedName(String)

変数の条件名を返します。

GetVariables(Variables)

読み取り専用リストと読み書きリストにある変数をロックします。

LockForRead(String)

読み取り専用アクセスのためにロックされる変数のリストに変数を追加します。

LockForWrite(String)

読み書きアクセスのためにロックされる変数のリストに変数を追加します。

LockOneForRead(String, Variables)

変数をリストに入れ、読み取り専用にロックします。

LockOneForWrite(String, Variables)

変数をリストに入れ、読み書きアクセスのためにロックします。

Reset()

GetVariables(Variables)呼び出しが失敗すると、読み取り専用リストと読み書きリストの両方をクリアします。

適用対象