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