次の方法で共有


VariableDispenser.LockOneForWrite Method

一覧に変数を配置してから、読み取り/書き込み用アクセス用にその変数をロックします。

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

構文

'宣言
Public Sub LockOneForWrite ( _
    variable As String, _
    ByRef variables As Variables _
)
public void LockOneForWrite (
    string variable,
    ref Variables variables
)
public:
void LockOneForWrite (
    String^ variable, 
    Variables^% variables
)
public void LockOneForWrite (
    String variable, 
    /** @ref */ Variables variables
)
JScript は、値と型の引数の参照渡しをサポートしていません。

パラメータ

  • variable
    読み取り/書き込みアクセス用にロックする変数の名前です。
  • variables
    要求された変数を格納する変数コレクションの名前です。

解説

このメソッドは、単一の変数のみに対して適用されるため、1 回の呼び出しで LockForWrite メソッドおよび GetVariables メソッドの作業が組み合わされます。

呼び出しが成功した場合、要求された変数は、パラメータ variables によって指定された変数コレクション内に 1 つのエントリで構成されたコレクションとして返され、この変数は読み取り/書き込みアクセスに用にロックされます。この変数のロックを解除するには、Variables クラスの Unlock メソッドを使用して、変数コレクションを解放します。LockOneForWrite メソッドの呼び出しが失敗した場合は、この変数はロックされません。

このメソッドへの呼び出しは、LockForWrite への呼び出しによって生成されるロックの一覧に影響を与えません。

ms191093.note(ja-jp,SQL.90).gifメモ :
共に使用される複数の変数に対するロックを取得するときに、このメソッドに対する複数の呼び出しを行うと、デッドロックが発生する可能性があるため、このような操作は行わないようにすることをお勧めします。一緒に使用されているすべての変数は、LockForRead メソッドまたは LockForWrite メソッドに続けて GetVariables を呼び出すことにより、一緒に要求およびロックする必要があります。

ロックが成功している場合は、Unlock を呼び出してロックを解除できます。

スレッド セーフ

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

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

VariableDispenser Class
VariableDispenser Members
Microsoft.SqlServer.Dts.Runtime Namespace