Занятие 3. Добавление класса событий

На этом занятии будет добавлен класс событий в файл определения приложения (application definition file, ADF), после чего будет обновлен экземпляр служб Notification Services, чтобы применить сделанные изменения к базе данных приложения. Затем можно просмотреть изменения, сделанные в базе данных приложения.

Основные сведения о классе событий

Класс событий отображает один тип событий, используемый приложением служб Notification Services. При определении класса событий определяется тип события, которое может передаваться приложению и использоваться для создания уведомлений. Определение класса событий включает имена полей, типы данных и модификаторы типа события.

Класс событий может определять и другие сведения, например индексы данных события и дополнительных таблиц. Дополнительные сведения о классах событий см. в разделе Определение классов событий.

При создании приложения определение класса событий используется службами Notification Services для создания таблиц, представлений, индексов и хранимых процедур для хранения, сбора и управления данными события.

Класс событий WeatherData

Для этого приложения в файл ADF будет добавлен класс событий WeatherData. Этот класс событий содержит пять полей: City, Date, Low, High и Forecast. Они описывают те данные события, которые будут впоследствии передаваться приложению. В классе событий для каждого поля определено его имя, тип данных и модификаторы поля.

Для достижения лучшей производительности при создании уведомлений класс событий также задает индекс поля City класса событий WeatherData.

Добавление XML-определения класса событий в файл ADF

Фрагмент 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-файла ADF требуется обновить экземпляр служб Notification Services, чтобы добавить объекты класса событий в базу данных приложения.

Обновление экземпляра служб Notification Services

  1. В обозревателе объектов раскройте узел Службы Notification Services.

  2. Щелкните правой кнопкой мыши пункт Учебник, установите указатель на пункт Задачи и выберите команду Обновить.

  3. В диалоговом окне Обновление экземпляра нажмите кнопку Обзор, найдите и выберите файл TutorialICF.xml и нажмите кнопку Открыть.

  4. В сетке Параметры просмотрите значения параметров.

    Значения должны быть допустимыми, так как они были изменены соответствующим образом на занятии 2. Если эти значения необходимо изменить, вернитесь к занятию 2, чтобы узнать, как в ICF изменять значения параметров по умолчанию.

  5. Нажмите кнопку ОК.

  6. Просмотрите диалоговое окно Службы Notification Services — обновление сводки и нажмите кнопку Обновить.

  7. По завершении обновления нажмите кнопку Закрыть.

Просмотр изменений в базе данных приложения

При обновлении экземпляра служб Notification Services в базу данных приложения TutorialWeather добавляются таблицы, представления и хранимые процедуры класса событий.

  • Представление событий dbo.WeatherData является текущим набором событий, обрабатываемых приложением. В дальнейшем при составлении запросов создания уведомления данные будут выбираться в этом представлении.
  • Таблица dbo.NSWeatherDataEvents является базовой таблицей, содержащей данные событий этого класса событий. Данные событий сохраняются в этой таблице до тех пор, пока не будут удалены в процессе удаления данных.
    ms167346.Caution(ru-ru,SQL.90).gifВнимание!
    Не следует изменять данные непосредственно в базах данных приложения и экземпляра. Для добавления данных события следует использовать один из поддерживаемых методов передачи событий, таких как встроенные поставщики событий, хранимые процедуры передачи событий или API-интерфейсы. Дополнительные сведения см. в разделе Определение поставщиков событий.

Чтобы проверить эти объекты в базе данных TutorialWeather, можно воспользоваться обозревателем объектов. Чтобы увидеть новые объекты, может возникнуть необходимость обновить обозреватель объектов.

Следующее занятие

Занятие 4. Добавление класса уведомлений

См. также

Основные понятия

Учебник по службам Notification Services

Другие ресурсы

Определение классов событий
Построение решений на основе служб Notification Services
Введение в службы SQL Server Notification Services

Справка и поддержка

Получение помощи по SQL Server 2005