Share via


第 4 課:加入通知類別

在這一課,您會將通知類別加入至應用程式定義檔案 (ADF) 中,然後更新 Notification Services 的執行個體,將所做的變更套用至應用程式資料庫中。然後,您可以檢閱對應用程式資料庫所做的變更。

通知類別入門

通知類別代表 Notification Services 應用程式產生的一種通知類型。當您定義通知類別時,會定義下列資訊:

  • 通知資料的欄位,包括資料類型。這些欄位定義您要傳給訂閱者的資料。
  • 關於用來格式化通知類別之通知的內容格式器之資訊。您可以使用內建「可延伸樣式表語言轉換 (XSLT)」內容格式器,或使用自訂內容格式器。
  • 關於傳遞通訊協定如何用來傳遞通知的資訊。

您也可以定義選擇性設定,例如摘要或多重傳遞和通知到期時間。如需有關通知類別的詳細資訊,請參閱<定義通知類別>。

當您建立或更新應用程式時,Notification Services 會使用通知類別定義來建立用來儲存和管理通知資料的資料表、檢視、索引和預存程序。

當您建立通知資料表和檢視時,Notification Services 會加入下列欄位:SubscriberIdDeviceNameSubscriberLocale。這些欄位是 Notification Services 所需要的,後面的課程會做說明。

WeatherAlerts 通知類別

針對這個應用程式,您要將 WeatherAlerts 通知類別加入至 ADF 中。這個通知類別有 5 個通知欄位、1 個 XSLT 內容格式器和 1 個檔案傳遞通訊協定。

  • 通知欄位為:CityDateLowHighForecast。在這個應用程式中,通知類別欄位符合事件類別欄位,但不一定要如此。
  • 當 Notification Services 散發通知時,它會使用內建 XSLT 內容格式器,將原始資料格式化成為自訂的訊息。XSLT 檔案名稱是 WeatherTransform.xslt,檔案位置由 %_AppPath_% 參數定義;這個參數的值是在 ICF 中提供。
    如需有關 XSLT 內容格式器的詳細資訊,請參閱<XSLT 內容格式器>。
  • 格式化之後,Notification Services 將使用內建檔案傳遞通訊協定來傳遞通知給檔案。檔案名稱和位置是定義在 ICF 的 DeliveryChannels 元素中。
    通訊協定定義可包含訊息標頭的欄位定義,例如 SMTP 所需要的定義,以及通訊協定執行設定,來設定重試、失敗和逾時設定。檔案通訊協定不使用這些設定,但大部份其他通訊協定都使用標頭欄位。
    ms170473.note(zh-tw,SQL.90).gif附註:
    檔案傳遞通訊協定主要是用來建立原型和測試。

將通知類別 XML 加入至 ADF

此章節的 XML 定義通知類別。請檢查 XML,然後遵照指示將 XML 複製到 ADF。

將通知類別 XML 加入至 ADF

  1. 按一下 [複製程式碼],將 XML 複製到 Windows 剪貼簿。

    <!-- Notification Classes -->
    <NotificationClasses>
      <NotificationClass>
        <NotificationClassName>
          WeatherAlerts</NotificationClassName>
        <Schema>
          <Fields>
            <Field>
              <FieldName>City</FieldName>
              <FieldType>nvarchar(35)</FieldType>
            </Field>
            <Field>
              <FieldName>Date</FieldName>
              <FieldType>datetime</FieldType>
            </Field>
            <Field>
              <FieldName>Low</FieldName>
              <FieldType>float</FieldType>
            </Field>
            <Field>
              <FieldName>High</FieldName>
              <FieldType>float</FieldType>
            </Field>
            <Field>
              <FieldName>Forecast</FieldName>
              <FieldType>nvarchar(3500)</FieldType>
            </Field>
          </Fields>
        </Schema>
        <ContentFormatter>
          <ClassName>XsltFormatter</ClassName>
          <Arguments>
            <Argument>
              <Name>XsltBaseDirectoryPath</Name>
              <Value>%_AppPath_%</Value>
            </Argument>
            <Argument>
              <Name>XsltFileName</Name>
              <Value>WeatherTransform.xslt</Value>
            </Argument>
          </Arguments>
        </ContentFormatter>
        <Protocols>
          <Protocol>
            <ProtocolName>File</ProtocolName>
          </Protocol>
        </Protocols>
      </NotificationClass>
    </NotificationClasses>
    
  2. 在 [方案總管] 中,開啟 [WeatherADF.xml]。

  3. 將下列 XML 取代成您剛才複製的 XML。

    <!-- Notification Classes -->

    <NotificationClasses></NotificationClasses>

  4. [檔案] 功能表上,選取 [儲存 WeatherADF.xml]

更新 Notification Services 的執行個體

在修改 ADF 之後,您要更新 Notification Services 的執行個體,將通知類別物件加入至應用程式資料庫中。

若要更新 Notification Services 的執行個體

  1. 在 [物件總管] 中,展開 [Notification Services]

  2. 以滑鼠右鍵按一下 [教學課程],指向 [工作],然後選取 [更新]

  3. [更新執行個體] 對話方塊中,按一下 [瀏覽],尋找 TutorialICF.xml 檔案,然後按一下 [開啟]

  4. [參數] 方格中,檢閱參數的值。請使用您用來建立執行個體的相同值。

  5. 按一下 [確定]

  6. 檢閱 [Notification Services - 更新摘要] 對話方塊,然後按一下 [更新]

  7. 當更新動作完成時,請按一下 [關閉]

檢閱資料庫變更

當您更新執行個體時,Notification Services 會在 TutorialWeather 應用程式資料庫中加入通知類別的資料表、檢視和預存程序。

  • dbo.WeatherAlerts 檢視是通知產生規則將插入通知的位置。
  • dbo.NSWeatherAlertsFileNotifications 檢視包含 WeatherAlerts 通知類別的通知,它們是使用檔案傳遞通訊協定來傳送。這份檢視僅供內部使用。
  • dbo.NSWeatherAlertsNotificationDistribution 檢視結合數個內部 Notification Services 資料表的資料,來提供關於通知散發嘗試的資訊。
  • dbo.NSWeatherAlertsNotifications 資料表是包含通知類別之通知資料的基礎資料表。通知資料會留在這個資料表中,直到 Vacuumer 資料移除處理序將它移除為止。這份資料表僅供內部使用。
    ms170473.Caution(zh-tw,SQL.90).gif注意:
    請勿在通知資料表和檢視中直接修改資料。

您可以使用 [物件總管] 來檢查 TutorialWeather 資料庫中的這些物件。僅供內部使用的資料表和檢視包含用於內部作業的資料;您不必瞭解這份資料。

您必須重新整理 [物件總管] 才能看到新物件。

下一課

第 5 課:加入訂閱類別

請參閱

概念

Notification Services 教學課程

其他資源

定義事件類別
建立 Notification 解決方案
SQL Server Notification Services 簡介

說明及資訊

取得 SQL Server 2005 協助