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 から継承されています。) | |
GetHashCode | このインスタンスのハッシュ コードを返します。 (DtsObject から継承されています。) | |
GetQualifiedName | 変数の修飾名を返します。 | |
GetType | (Object から継承されています。) | |
GetVariables | 読み取り専用ロック一覧にある変数と、読み取り/書き込みロック一覧にある変数をロックします。 | |
LockForRead | 読み取り専用アクセス用にロックされる変数の一覧に変数を追加します。 | |
LockForWrite | 読み取り/書き込みアクセス用にロックされる変数の一覧に変数を追加します。 | |
LockOneForRead | 一覧に変数を配置してから、その変数を読み取り専用アクセス用にロックします。 | |
LockOneForWrite | 一覧に変数を配置してから、読み取り/書き込み用アクセス用にその変数をロックします。 | |
Reset | GetVariables への呼び出しが失敗した場合に、読み取り専用ロック一覧および読み取り/書き込みロック一覧をクリアします。 | |
ToString | (Object から継承されています。) |
先頭に戻る
説明
変数ディスペンサーを使用するシナリオが 2 つあります。
必要な変数が 1 つだけの場合。 このシナリオでは、LockOneForRead または LockOneForWrite を呼び出すと、1 つの要素を持つコレクションが返されます。
必要な変数が複数ある場合。 このシナリオでは、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) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。