SqlDependency.Start メソッド

定義

依存関係の変更通知を受け取るリスナーを開始します。

オーバーロード

Start(String)

接続文字列で指定される SQL Server のインスタンスから依存関係の変更通知を受け取るリスナーを開始します。

Start(String, String)

接続文字列で指定される SQL Server のインスタンスから依存関係の変更通知を受け取るリスナーを、指定した SQL Server Service Broker キューを使用して開始します。

注釈

リスナーはSqlDependency、SQL Server接続でエラーが発生すると再起動します。

次の制限に Start 従って、 メソッドを複数呼び出すことができます。

  • 同じパラメーター (呼び出し元スレッド内の同じ接続文字列と Windows 資格情報) を持つ複数の呼び出しが有効です。

  • 接続文字列が異なる複数の呼び出しは、次の場合に限り有効です。

    • 各接続文字列は、異なるデータベースを指定します。

    • 各接続文字列は、異なるユーザーを指定します。

    • 呼び出しは、さまざまなアプリケーション ドメインから行われます。

複数のスレッドをSqlDependency使用して異なるユーザー資格情報を表すアプリケーションでは、異なるユーザーが管理者によって作成された通知キューにサブスクライブしてリッスン (または SqlCommandを使用SqlCacheDependency) できるため、dbo ロールをグループに与えることなく、正常に動作させることができます。 関連するアプリケーション ドメインが起動したら、サービス/キューを初期化するアクセス許可を持つユーザーの (Windows) 資格情報 (データベースに対する CREATE QUEUE および CREATE SERVICE のアクセス許可) で Start を呼び出します。 Start が AppDomain ごとに 1 回だけ呼び出されるようにします。それ以外の場合はあいまいさの例外が発生します。 ユーザー スレッドには、通知をサブスクライブするためのアクセス許可 (データベースの SUBSCRIBE QUERY NOTIFICATIONS アクセス許可) が必要です。 SqlDependency は、管理者以外のユーザーのサブスクリプション要求を、管理者によって作成されたサービス/キューに関連付けます。

Start(String)

接続文字列で指定される SQL Server のインスタンスから依存関係の変更通知を受け取るリスナーを開始します。

public:
 static bool Start(System::String ^ connectionString);
public static bool Start (string connectionString);
static member Start : string -> bool
Public Shared Function Start (connectionString As String) As Boolean

パラメーター

connectionString
String

変更通知の取得元である SQL Server のインスタンスの接続文字列。

戻り値

リスナーが正常に初期化された場合は true。互換性のあるリスナーが既に存在する場合は false

例外

connectionString パラメーターが NULL です。

connectionString パラメーターは、このメソッドの以前の呼び出しと同一ですが、他のパラメーターに異なるものがあります。

CLR 内からメソッドが呼び出されました。

必要な SqlClientPermission コード アクセス セキュリティ (CAS: Code Access Security) のアクセス許可が、呼び出し元にありません。

このメソッドの後続の呼び出しは、同一 connectionString パラメーターを指定し、異なるユーザーまたは同一のスキーマを既定としないユーザーで行われました。

いずれかの、基になる SqlClient 例外も発生しました。

注釈

このメソッドは、 パラメーターで指定された SQL Serverのインスタンスから依存関係通知を受信するための のリスナーAppDomainconnectionString開始します。 このメソッドは、複数のサーバーに対して異なる接続文字列を使用して複数回呼び出される場合があります。

その他の解説については、「」を参照してください Start

こちらもご覧ください

適用対象

Start(String, String)

接続文字列で指定される SQL Server のインスタンスから依存関係の変更通知を受け取るリスナーを、指定した SQL Server Service Broker キューを使用して開始します。

public:
 static bool Start(System::String ^ connectionString, System::String ^ queue);
public static bool Start (string connectionString, string queue);
static member Start : string * string -> bool
Public Shared Function Start (connectionString As String, queue As String) As Boolean

パラメーター

connectionString
String

変更通知の取得元である SQL Server のインスタンスの接続文字列。

queue
String

使用する、既存の SQL Server Service Broker キュー。 null の場合は、既定のキューが使用されます。

戻り値

リスナーが正常に初期化された場合は true。互換性のあるリスナーが既に存在する場合は false

例外

connectionString パラメーターが NULL です。

connectionString パラメーターは、このメソッドの以前の呼び出しと同一ですが、他のパラメーターに異なるものがあります。

CLR 内からメソッドが呼び出されました。

必要な SqlClientPermission コード アクセス セキュリティ (CAS: Code Access Security) のアクセス許可が、呼び出し元にありません。

このメソッドの後続の呼び出しは、同一 connectionString パラメーターを指定しているが、異なるユーザーまたは同一のスキーマを既定としないユーザーで行われました。

いずれかの、基になる SqlClient 例外も発生しました。

注釈

このメソッドは、 パラメーターで指定された SQL Serverのインスタンスから依存関係通知を受信するための のリスナーAppDomainconnectionString開始します。 このメソッドは、複数のサーバーに対して異なる接続文字列を使用して複数回呼び出される場合があります。

キュー名が指定されていない場合は、 SqlDependency プロセスに複数 AppDomainの が含まれている場合でも、プロセス全体に使用される一時キューとサービスをサーバーに作成します。 キューとサービスは、アプリケーションのシャットダウン時に自動的に削除されます。

その他の解説については、「」を参照してください Start

こちらもご覧ください

適用対象