共用方式為


定義檔案系統監視員事件提供者

若要使用檔案系統監看員事件提供者,您必須在應用程式定義中定義主控的事件提供者,且必須開發 Transact-SQL 註解的 XML 結構描述檔案,來將事件資料對應至事件欄位。

屬性

定義檔案系統監看員事件提供者的屬性時,請使用下列方針。

  • ProviderName (必要) 必須是應用程式內的唯一名稱。
  • ClassName (必要) 必須是 FileSystemWatcherProvider
  • 請勿使用 AssemblyName 屬性。Notification Services 會在 Microsoft.SqlServer.NotificationServices.dll 組件中尋找標準事件提供者資訊
  • SystemName (必要) 通常是指將執行這個主控事件提供者的電腦之名稱。如需詳細資訊,請參閱<定義裝載的事件提供者>。
  • 請勿定義逾時值。檔案系統監看員事件提供者有它自己的逾時和重試邏輯。
  • 請勿定義排程。檔案系統監看員事件提供者是一個連續的事件提供者,所以不支援排程。

引數

檔案系統監看員事件提供者有七個具名引數,這些引數可作為初始化參數。您可以依照任何順序來指定它們:

  • WatchDirectory (必要) 指定事件提供者監視之目錄的完整路徑和名稱,以作為它的值。可以使用標準命名慣例或通用命名慣例 (UNC)。
  • EventClassName (必要) 指定這個事件提供者提交的事件所屬的事件類別名稱。
  • SchemaFile (必要) 指定包含 Transact-SQL 註解 XML 結構描述之檔案的完整路徑,該結構描述可用來將 XML 檔案資料轉換成適當的事件格式。如需詳細資訊,請參閱<檔案驗證>。
    ms171351.note(zh-tw,SQL.90).gif附註:
    SchemaFile 引數中提供的 Transact-SQL 註解 XML 結構描述必須處理事件類別中定義的所有欄位。如果結構描述檔案遺漏事件欄位,檔案系統監看員事件提供者便會因錯誤「80004005: 陳述式已終止」而失敗,且監看目錄中會建立 .err 檔。
  • RetryAttempts (選擇性) 指定從佇列移除檔案之前嘗試存取已鎖定的檔案的次數。這個值是整數,預設值是 10。如需詳細資訊,請參閱<檔案收取與重試邏輯>。
  • RetryQueueOccupancy (選擇性) 指定重試佇列中可以同時有幾個檔案。這個值是整數,預設值是 1024。
  • RetryPeriod (選擇性) 指定事件提供者處理佇列的預期頻率。這個值以毫秒為單位,並指定執行緒結束與新執行緒開始的時間間隔。這個值是整數,預設值是 10000 毫秒 (等於 10 秒)。0 值會在提供者啟動時執行單一重試嘗試。
  • RetryWorkload (選擇性) 指定單一重試嘗試期間可以在佇列中處理的檔案數目上限。這個值是整數,預設值是 1024。

如需有關定義主控事件提供者的詳細資訊,請參閱<定義裝載的事件提供者>。

範例:檔案系統監看員事件提供者定義

下列範例顯示如何在應用程式定義檔案 (ADF) 中定義一個命名為 StockWatcher 的檔案系統監看員事件提供者。

<Providers>
   <HostedProvider>
      <ProviderName>StockWatcher</ProviderName>
      <ClassName>FileSystemWatcherProvider</ClassName>
      <SystemName>NSSERVER01</SystemName>
      <Arguments>
         <Argument>
            <Name>WatchDirectory</Name>
            <Value>C:\StockInfo\NewEvents</Value>
         </Argument>
         <Argument>
            <Name>EventClassName</Name>
            <Value>StockEvents</Value>
         </Argument>
         <Argument>
            <Name>SchemaFile</Name>
            <Value>C:\Schemas\StockEventSchema.xsd</Value>
         </Argument>
         <Argument>
            <Name>RetryAttempts</Name>
            <Value>15</Value>
         </Argument>
         <Argument>
            <Name>RetryQueueOccupancy</Name>
            <Value>100</Value>
         </Argument>
         <Argument>
            <Name>RetryPeriod</Name>
            <Value>50000</Value>
         </Argument>
         <Argument>
            <Name>RetryWorkload</Name>
            <Value>100</Value>
         </Argument>
      </Arguments>
   </HostedProvider>
</Providers>

請參閱

概念

檔案收取與重試邏輯
檔案驗證

其他資源

檔案系統監視員事件提供者
定義事件提供者
標準事件提供者

說明及資訊

取得 SQL Server 2005 協助