レッスン 3 : イベント クラスの追加
このレッスンでは、アプリケーション定義ファイル (ADF) にイベント クラスを追加し、Notification Services のインスタンスを更新して、アプリケーション データベースに変更を適用します。その後、アプリケーション データベースへの変更を確認します。
イベント クラスの概要
イベント クラスとは、Notification Services アプリケーションが使用するイベントの型です。イベント クラスを定義するには、アプリケーションに送信され、通知の生成で使用されるイベントの種類を指定します。イベント クラスの定義には、イベント フィールドの名前、データ型、および型の修飾子があります。
このほか、イベント クラスには、イベント データや補足テーブルのインデックスなどの情報を定義できます。イベント クラスの詳細については、「イベント クラスの定義」を参照してください。
ユーザーがアプリケーションを作成するときは、イベント クラス定義に基づいて、イベント データの保存、収集、管理に必要なテーブル、ビュー、インデックス、およびストアド プロシージャが作成されます。
WeatherData イベント クラス
このアプリケーションでは、WeatherData イベント クラスを ADF に追加します。このイベント クラスには、City、Date、Low、High、および Forecast の 5 つのイベント フィールドがあります。これらのフィールドは、後でアプリケーションに送信するイベント データを表しています。イベント クラスでは、各イベント フィールドのフィールド名、データ型、およびフィールド修飾子を定義します。
さらに、通知生成の処理速度を向上するため、WeatherData イベント クラスの City フィールドにインデックスを指定します。
イベント クラス XML を ADF に追加
このセクションの XML はイベント クラスを定義します。XML の内容を確認した後、次の手順で XML を ADF にコピーします。
イベント クラス XML を ADF に追加するには
[コードのコピー] をクリックし、以下の XML を Windows クリップボードにコピーします。
<!-- Event Classes --> <EventClasses> <EventClass> <EventClassName>WeatherData</EventClassName> <Schema> <Field> <FieldName>City</FieldName> <FieldType>nvarchar(35)</FieldType> <FieldTypeMods>not null</FieldTypeMods> </Field> <Field> <FieldName>Date</FieldName> <FieldType>datetime</FieldType> <FieldTypeMods>not null</FieldTypeMods> </Field> <Field> <FieldName>Low</FieldName> <FieldType>float</FieldType> <FieldTypeMods>not null</FieldTypeMods> </Field> <Field> <FieldName>High</FieldName> <FieldType>float</FieldType> <FieldTypeMods>not null</FieldTypeMods> </Field> <Field> <FieldName>Forecast</FieldName> <FieldType>nvarchar(3500)</FieldType> <FieldTypeMods>not null</FieldTypeMods> </Field> </Schema> <IndexSqlSchema> <SqlStatement>CREATE INDEX myIndex ON WeatherData ( City ); </SqlStatement> </IndexSqlSchema> </EventClass> </EventClasses>
ソリューション エクスプローラで WeatherADF.xml を開きます。
次のコメントを、先ほどコピーした XML に置き換えます。
<!-- Replace with EventClasses XML -->
[ファイル] メニューの [WeatherADF.xml の保存] をクリックします。
Notification Services のインスタンスの更新
ADF を修正したら、Notification Services のインスタンスを更新して、アプリケーション データベースにイベント クラス オブジェクトを追加します。
Notification Services のインスタンスを更新するには
オブジェクト エクスプローラで、[Notification Services] を展開します。
[Tutorial] を右クリックし、[タスク] をポイントして、[更新] をクリックします。
[インスタンスの更新] ダイアログ ボックスで [参照] をクリックします。次に、TutorialICF.xml ファイルを探して選択し、[開く] をクリックします。
[パラメータ] グリッドでパラメータの値を確認します。
レッスン 2 で必要に応じて値を変更したので、正しい値になっているはずです。パラメータ値を編集する必要がある場合は、レッスン 2 に戻り、パラメータの既定値をインスタンス構成ファイルで編集する方法を参照してください。
[OK] をクリックします。
[Notification Services - 更新の概要] ダイアログ ボックスの内容を確認し、[更新] をクリックします。
更新操作が完了したら、[閉じる] をクリックします。
アプリケーション データベースの変更の確認
インスタンスを更新すると、イベント クラスのテーブル、ビュー、およびストアド プロシージャが TutorialWeather アプリケーション データベース追加されます。
- dbo.WeatherData イベント ビューは、このアプリケーションによって処理されている現在のイベント セットです。後で通知生成クエリを記述するときに、データをこのビューから選択します。
- dbo.NSWeatherDataEvents テーブルは、イベント クラスのイベント データを保持する基本テーブルです。イベント データは、Vaccumer のデータ削除プロセスによって削除されるまで、このテーブルに保持されます。
注意 : アプリケーション データベースおよびインスタンス データベースのデータは直接修正しないでください。イベント データを追加するには、ビルトイン イベント プロバイダ、イベント送信ストアド プロシージャ、API など、サポートされているいずれかのイベント送信メソッドを使用する必要があります。詳細については、「イベント プロバイダの定義」を参照してください。
TutorialWeather データベースのこれらのオブジェクトは、オブジェクト エクスプローラで確認できます。新しいオブジェクトを確認するには、オブジェクト エクスプローラを更新しなければならない場合があります。
次のレッスン
参照
概念
Notification Services のチュートリアル
その他の技術情報
イベント クラスの定義
通知ソリューションの作成
SQL Server Notification Services の紹介