Announcement

Collapse
No announcement yet.

Ereignis beim Importscript

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ereignis beim Importscript

    Hallo Leute,


    meine Aufgabe ist es XML Dateien im SQL Server 2005 mit einem Importscript zu importieren.

    Wenn es sich um eine bestimmte Datei handelt denke ich geht das bestimmt.

    Der Kunde will aber automatisch einlesen wenn neue Dateien (XML) in einem Verzeichnis angelegt wurden.

    Kann man im Script so ein Erreignis abfragen?
    Kann man die dateien dann auch per Script dann verschieben oder löschen?

    Habe bis jetzt nichts gefunden, aber vielleicht weiß von Euch jemand ein klare Anwort darauf.

    Danke erstmal

    Beste Grüße Schwedesky

  • #2
    Ich habe sowas mal auf einfache Weise gemacht, indem ich einen Job geschrieben habe, der jede Minute nachschaute, ob neue Files zum Verarbeiten da sind. Wenn ja, dann hat er den zu verarbeitenden File zuerst umbenannt (damit kein zweiter Prozess das vielleicht ebenfalls probiert), dann verarbeitet und schließlich inkl. Verarbeitungsprotokoll in ein neues Verzeichnis geschoben. War alles verarbeitet, endete der Prozess einfach, Neustart ja wieder durch den Server-Agent. Hat bestens funktioniert.
    Eine Sache, die man dabei aber braucht, ist xp_cmdshell, damit geht alles, was man auch in einem DOS-Fenster ausführen kann -damit hätte aber ein "böser User" Möglichkeiten weiter in das System einzudringen, zumindest soweit wie die Rechte des Users, mit dem das xp_cmdshell ausgeführt wird, es erlauben. Daher ist xp_cmdshell ab SQL2005 defaultmäßig gesperrt und muss erst über die "Oberflächenkonfiguration für Features" freigegeben werden.
    Sollte der Zeitabstand von 1 Minute zu wenig sein, könnte man auch eine stored proc schreiben, die beim Serverstart nur einmal gestartet wird und dann in einer Endlosschleife (Pausen über WAITFOR DELAY...) zB alle 5 Sekunden auf neue Files prüft.

    bye,
    Helmut

    Comment

    Working...
    X