次の方法で共有


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. 必要な変数が 1 つだけの場合。 このシナリオでは、LockOneForRead または LockOneForWrite を呼び出すと、1 つの要素を持つコレクションが返されます。

  2. 必要な変数が複数ある場合。 このシナリオでは、LockForRead および LockForWrite を各変数に対して 1 回ずつ、複数回呼び出します。 これによって、2 つの一覧が作成されます。1 つは読み取り用の変数を含む一覧で、もう 1 つは書き込み用の変数の一覧です。 次に、ロックされた変数をすべて含むコレクションを提供する GetVariables を呼び出します。 GetVariables が成功した場合、実際のロックではなく変数名の一覧である 2 つの一覧は、クリアされます。

ロックを明示的に解除するには、コレクションで Unlock を呼び出します。 このメソッドによって、変数自体のロックが解除されます。 GetVariables が失敗した場合、一覧は変更されず、GetVariables を再度呼び出すことができます。 それでも正常に変数を取得できない場合は、Reset を呼び出して一覧をクリアし、変数ディスペンサーを初期状態に戻します。

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

重要

VariableDispenser は Runtime クラスで使用します。 データ フロー コンポーネント (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) への呼び出しが失敗した場合に、読み取り専用ロック一覧および読み取り/書き込みロック一覧をクリアします。

適用対象