SqlDependency.Start メソッド

定義

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

オーバーロード

名前 説明
Start(String)

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

Start(String, String)

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

注釈

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

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

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

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

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

    • 各接続文字列は、別のユーザーを指定します。または、

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

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

Start(String)

ソース:
System.Data.SqlClient.notsupported.cs

接続文字列で指定された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) アクセス許可がありません。

メソッドの後続の呼び出しは、別のユーザー、または同じスキーマに既定ではないユーザーと同等の connectionString パラメーターを使用して行われました。

また、基になる SqlClient 例外。

注釈

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

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

こちらもご覧ください

適用対象

Start(String, String)

ソース:
System.Data.SqlClient.notsupported.cs

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

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) アクセス許可がありません。

メソッドに対する後続の呼び出しは、同等の connectionString パラメーターを使用して行われましたが、別のユーザー、または同じスキーマが既定ではないユーザーです。

また、基になる SqlClient 例外。

注釈

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

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

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

こちらもご覧ください

適用対象