Freigeben über


Definieren eines FileSystemWatcher-Ereignisanbieters

Wenn Sie den FileSystemWatcher-Ereignisanbieter verwenden möchten, müssen Sie in der Anwendungsdefinition einen gehosteten Ereignisanbieter definieren und eine XML-Schemadatei mit Anmerkungen für Transact-SQL entwickeln, die die Ereignisdaten Ereignisfeldern zuordnet.

Eigenschaften

Verwenden Sie die folgenden Richtlinien, wenn Sie die Eigenschaften des FileSystemWatcher-Ereignisanbieters definieren.

  • ProviderName (erforderlich) muss ein innerhalb der Anwendung eindeutiger Name sein.
  • ClassName (erforderlich) muss FileSystemWatcherProvider sein.
  • Verwenden Sie nicht die AssemblyName-Eigenschaft. Notification Services sucht in der Assembly Microsoft.SqlServer.NotificationServices.dll nach Informationen zu Standardereignisanbietern.
  • SystemName (erforderlich) ist normalerweise der Name des Computers, auf dem dieser gehostete Ereignisanbieter ausgeführt wird. Weitere Informationen finden Sie unter Definieren von gehosteten Ereignisanbietern.
  • Definieren Sie keinen Timeoutwert. Der FileSystemWatcher-Ereignisanbieter verfügt über eine eigene Timeout- und Wiederholungslogik.
  • Definieren Sie keinen Zeitplan. Der FileSystemWatcher-Ereignisanbieter ist ein kontinuierlicher Ereignisanbieter und unterstützt keinen Zeitplan.

Argumente

Der FileSystemWatcher-Ereignisanbieter verwendet sieben benannte Argumente, die als Initialisierungsparameter verwendet werden. Sie können sie in beliebiger Reihenfolge angeben:

  • WatchDirectory (erforderlich) gibt den vollständigen Pfad und Namen des Verzeichnisses an, das der Ereignisanbieter überwacht. Die Standard- oder die UNC-Benennungskonvention (Universal Naming Convention) können verwendet werden.
  • EventClassName (erforderlich) gibt den Namen der Ereignisklasse an, für die dieser Ereignisanbieter Ereignisse übermittelt.
  • SchemaFile (erforderlich) gibt den vollständigen Pfad einer Datei an, die das XML-Schema mit Anmerkungen für Transact-SQL enthält, das zum Transformieren der XML-Dateidaten in das entsprechende Ereignisformat verwendet wird. Weitere Informationen finden Sie unter Dateiüberprüfung.
    ms171351.note(de-de,SQL.90).gifHinweis:
    Das im SchemaFile-Argument bereitgestellte XML-Schema mit Anmerkungen für Transact-SQL muss alle in der Ereignisklasse definierten Felder behandeln. Wenn ein Ereignisfeld in der Schemadatei fehlt, schlägt der FileSystemWatcher-Ereignisanbieter mit dem Fehler " 80004005: die Anweisung wurde beendet" fehl, und im Überwachungsverzeichnis wird eine ERR-Datei erstellt.
  • RetryAttempts (optional) gibt an, wie oft der Zugriff auf eine gesperrte Datei versucht wird, bevor die Datei aus der Warteschlange entfernt wird. Dieser Wert ist eine ganze Zahl mit dem Standardwert 10. Weitere Informationen finden Sie unter Dateiabholungs- und Wiederholungslogik.
  • RetryQueueOccupancy (optional) gibt an, wie viele Dateien sich gleichzeitig in der Wiederholungswarteschlange befinden können. Dieser Wert ist eine ganze Zahl mit dem Standardwert 1024.
  • RetryPeriod (optional) gibt an, wie häufig der Ereignisanbieter die Warteschlange verarbeiten soll. Der Wert gibt in Millisekunden den Zeitraum zwischen dem Ende eines Threads und dem Beginn eines neuen Threads an. Dieser Wert ist eine ganze Zahl mit dem Standardwert 10000 Millisekunden, was 10 Sekunden entspricht. Ein Wert 0 führt zu einem einzelnen Wiederholungsversuch, wenn der Anbieter gestartet wird.
  • RetryWorkload (optional) gibt die maximale Anzahl von Dateien in der Warteschlange an, die während eines einzelnen Wiederholungszeitraumes verarbeitet werden kann. Dieser Wert ist eine ganze Zahl mit dem Standardwert 1024.

Weitere Informationen zum Definieren eines gehosteten Ereignisanbieters finden Sie unter Definieren von gehosteten Ereignisanbietern.

Beispiel: Definition eines FileSystemWatcher-Ereignisanbieters

Das folgende Beispiel veranschaulicht, wie Sie einen FileSystemWatcher-Ereignisanbieter mit dem Namen StockWatcher in einer Anwendungsdefinitionsdatei (ADF) definieren:

<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>

Siehe auch

Konzepte

Dateiabholungs- und Wiederholungslogik
Dateiüberprüfung

Andere Ressourcen

FileSystemWatcher-Ereignisanbieter
Definieren von Ereignisanbietern
Standardereignisanbieter

Hilfe und Informationen

Informationsquellen für SQL Server 2005