Share via


VariableDispenser クラス

パッケージの実行中に、Variables コレクションにアクセスします。このクラスは継承できません。

継承階層

System. . :: . .Object
  Microsoft.SqlServer.Dts.Runtime. . :: . .DtsObject
    Microsoft.SqlServer.Dts.Runtime..::..VariableDispenser

名前空間:  Microsoft.SqlServer.Dts.Runtime
アセンブリ:  Microsoft.SqlServer.ManagedDTS (Microsoft.SqlServer.ManagedDTS.dll)

構文

'宣言
Public NotInheritable Class VariableDispenser _
    Inherits DtsObject
'使用
Dim instance As VariableDispenser
public sealed class VariableDispenser : DtsObject
public ref class VariableDispenser sealed : public DtsObject
[<SealedAttribute>]
type VariableDispenser =  
    class
        inherit DtsObject
    end
public final class VariableDispenser extends DtsObject

VariableDispenser 型は、以下のメンバーを公開しています。

メソッド

  名前 説明
パブリック メソッド Contains 例外がスローされることなく、インデックスを使用して VariableDispenser コレクションから項目を取得できるかどうかを指定します。
パブリック メソッド Equals 2 つのオブジェクト インスタンスが等しいかどうかを示します。 (DtsObject から継承されています。)
プロテクト メソッド Finalize (Object から継承されています。)
パブリック メソッド GetHashCode このインスタンスのハッシュ コードを返します。 (DtsObject から継承されています。)
パブリック メソッド GetQualifiedName 変数の修飾名を返します。
パブリック メソッド GetType (Object から継承されています。)
パブリック メソッド GetVariables 読み取り専用ロック一覧にある変数と、読み取り/書き込みロック一覧にある変数をロックします。
パブリック メソッド LockForRead 読み取り専用アクセス用にロックされる変数の一覧に変数を追加します。
パブリック メソッド LockForWrite 読み取り/書き込みアクセス用にロックされる変数の一覧に変数を追加します。
パブリック メソッド LockOneForRead 一覧に変数を配置してから、その変数を読み取り専用アクセス用にロックします。
パブリック メソッド LockOneForWrite 一覧に変数を配置してから、読み取り/書き込み用アクセス用にその変数をロックします。
プロテクト メソッド MemberwiseClone (Object から継承されています。)
パブリック メソッド Reset GetVariables への呼び出しが失敗した場合に、読み取り専用ロック一覧および読み取り/書き込みロック一覧をクリアします。
パブリック メソッド ToString (Object から継承されています。)

先頭に戻る

説明

変数ディスペンサを使用するシナリオが 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 を使用する必要がある可能性があります。使用する変数ディスペンサを調べるには、変数を取得するオブジェクトのドキュメントを参照し、メソッドの戻りオブジェクトを確認します。

スレッド セーフ

この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。