次の方法で共有


SubscriptionClass.SubscriptionConditionEventRules Property

サブスクリプション クラスに使用する条件ベースの柔軟なイベント ルールのコレクションを取得します。

名前空間: Microsoft.SqlServer.Management.Nmo
アセンブリ: Microsoft.SqlServer.Smo (microsoft.sqlserver.smo.dll 内)

構文

'宣言
Public ReadOnly Property SubscriptionConditionEventRules As SubscriptionConditionEventRuleCollection
public SubscriptionConditionEventRuleCollection SubscriptionConditionEventRules { get; }
public:
property SubscriptionConditionEventRuleCollection^ SubscriptionConditionEventRules {
    SubscriptionConditionEventRuleCollection^ get ();
}
/** @property */
public SubscriptionConditionEventRuleCollection get_SubscriptionConditionEventRules ()
public function get SubscriptionConditionEventRules () : SubscriptionConditionEventRuleCollection

プロパティ値

サブスクリプション クラスに対応する SubscriptionConditionEventRuleCollection です。

解説

SubscriptionConditionEventRuleCollection は、サブスクリプション クラスに使用する条件ベースのイベント ルールのセットを表します。サブスクリプション クラスの SubscriptionConditionEventRule オブジェクトを取得、追加、および削除するには、このコレクションを使用します。

ルールを追加または削除した後、アプリケーションを更新すると、対応するサブスクリプション クラスが再作成されます。Notification Services は、既存のサブスクリプション テーブルの名前に "Old" を追加して名前を変更してから、新しいテーブルを作成します。以前のサブスクリプション テーブルのインデックスは、変更されずに残されます。

以前のサブスクリプション テーブルから新しいサブスクリプション テーブルにデータを転送するには、手動で転送する必要があります。詳細については、「アプリケーションの更新」を参照してください。

使用例

次の例は、条件ベースのイベント ドリブン サブスクリプション ルールを定義してサブスクリプション クラスに追加する方法を示しています。

// Add a rule to generate condition-based, event notifications
SubscriptionConditionEventRule flightConditionEventRule = 
    new SubscriptionConditionEventRule(
    flightSubscriptions, "FlightConditionEventRule");
flightConditionEventRule.EventClassName = "FlightEvents";
flightConditionEventRule.ActionTimeout = new TimeSpan(0, 2, 0);
flightConditionEventRule.SqlLoginName = "MyLowPrivLogin";
flightConditionEventRule.SqlUserName = "MyLowPrivUser";
flightConditionEventRule.InputTypeName = "FlightEvents";
flightConditionEventRule.InputTypeSchema = "MyAppSchema";
flightConditionEventRule.SqlExpression =
    "INSERT INTO MyAppSchema.FlightNotifications (SubscriberId, " +
    "DeviceName, SubscriberLocale, LeavingFrom, GoingTo, Price) " +
    "SELECT [Subscription.SubscriberId], [Subscription.DeviceName], " +
    "[Subscription.SubscriberLocale], " +
    "[Input.LeavingFrom], [Input.GoingTo], [Input.Price] " +
    "FROM MyAppSchema.FlightConditionEventRule;";
flightSubscriptions.SubscriptionConditionEventRules.Add(
    flightConditionEventRule);
' Add a rule to generate condition-based, event notifications
Dim flightConditionEventRule As _
    SubscriptionConditionEventRule = _
    New SubscriptionConditionEventRule( _
    flightSubscriptions, "FlightConditionEventRule")
flightConditionEventRule.EventClassName = "FlightEvents"
flightConditionEventRule.ActionTimeout = New TimeSpan(0, 2, 0)
flightConditionEventRule.SqlLoginName = "MyLowPrivLogin"
flightConditionEventRule.SqlUserName = "MyLowPrivUser"
flightConditionEventRule.InputTypeName = "FlightEvents"
flightConditionEventRule.InputTypeSchema = "MyAppSchema"
flightConditionEventRule.SqlExpression = _
 "INSERT INTO MyAppSchema.FlightNotifications " + _
 "(SubscriberId, DeviceName, SubscriberLocale, LeavingFrom, " + _
 "GoingTo, Price) SELECT [Subscription.SubscriberId], " + _
 "[Subscription.DeviceName], [Subscription.SubscriberLocale], " + _
 "[Input.LeavingFrom], [Input.GoingTo], [Input.Price] " + _
 "FROM MyAppSchema.FlightConditionEventRule;"
flightSubscriptions.SubscriptionConditionEventRules.Add( _
    flightConditionEventRule)

スレッド セーフ

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

プラットフォーム

開発プラットフォーム

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

対象プラットフォーム

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

参照

関連項目

SubscriptionClass Class
SubscriptionClass Members
Microsoft.SqlServer.Management.Nmo Namespace
SubscriptionEventRules

その他の技術情報

EventRules 要素 (ADF)
イベント ルールの定義