第 3 课:添加事件类

在本课中,您可将事件类添加到应用程序定义文件 (ADF),然后更新 Notification Services 实例以便将更改应用于应用程序数据库。然后可以查看对应用程序数据库所做的更改。

事件类基本知识

一个事件类表示 Notification Services 应用程序所使用的一类事件。定义事件类时,您将对可提交到应用程序并可用于生成通知的事件类型进行定义。事件类定义包括事件字段名称、数据类型和类型修饰符。

事件类可以定义其他信息,如事件数据和附加表的索引。有关事件类的详细信息,请参阅定义事件类

当您创建应用程序时,Notification Services 使用事件类定义来创建表、视图、索引以及存储过程,以便存储、收集和管理事件数据。

WeatherData 事件类

对于此应用程序,您可将 WeatherData 事件类添加到 ADF。此事件类具有五个事件字段,分别为 CityDateLowHighForecast。这些字段描述了您以后提交到应用程序的事件数据。对于每个事件字段,事件类定义了字段名称、数据类型和字段修饰符。

为了提高通知生成的性能,事件类还指定了 WeatherData 事件类的 City 字段上的索引。

将事件类 XML 添加到 ADF

本部分中的 XML 用于定义事件类。检查 XML,然后按照说明将 XML 复制到 ADF。

将事件类 XML 添加到 ADF

  1. 单击**“复制代码”**以将 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>
    
  2. 在解决方案资源管理器中,打开 WeatherADF.xml。

  3. 用刚刚复制的 XML 替换以下注释。

    <!-- Replace with EventClasses XML -->

  4. 在**“文件”菜单上,选择“保存 WeatherADF.xml”**。

更新 Notification Services 的实例

修改 ADF 之后,您可更新 Notification Services 实例以将事件类对象添加到应用程序数据库。

更新 Notification Services 的实例

  1. 在对象资源管理器中,展开 Notification Services

  2. 右键单击 Tutorial,指向**“任务”,再选择“更新”**。

  3. 在**“更新实例”对话框中,单击“浏览”,找到并选择 TutorialICF.xml 文件,再单击“打开”**。

  4. 在**“参数”**网格中,查看参数的值。

    参数值应该是正确的,因为您已在第 2 课中根据需要修改了它们。如果您必须编辑这些值,请返回到第 2 课来了解如何在 ICF 中编辑参数默认值。

  5. 单击**“确定”**。

  6. 查看**“Notification Services - 更新摘要”对话框,再单击“更新”**。

  7. 更新操作完成后,单击**“关闭”**。

查看在应用程序数据库中所做的更改

更新实例时,Notification Services 将针对 TutorialWeather 应用程序数据库中的事件类添加表、视图和存储过程。

  • dbo.WeatherData 事件视图是应用程序正在处理的当前事件集。当您以后写入通知生成查询时,可从此视图中选择数据。
  • dbo.NSWeatherDataEvents 表是包含事件类的事件数据的基础表。事件数据保留在该表中,直到 vacuumer 数据删除进程将其删除。
    ms167346.Caution(zh-cn,SQL.90).gif注意:
    请不要直接对应用程序数据库和实例数据库中的数据进行修改。若要添加事件数据,您必须使用一种支持的事件提交方法,如内置事件提供程序、事件提交存储过程或 API。有关详细信息,请参阅定义事件提供程序

可以使用对象资源管理器来检查 TutorialWeather 数据库中的这些对象。可能需要刷新对象资源管理器,才能看到新对象。

下一课

第 4 课:添加通知类

请参阅

概念

Notification Services 教程

其他资源

定义事件类
生成通知解决方案
SQL Server Notification Services 简介

帮助和信息

获取 SQL Server 2005 帮助