Announcement

Collapse
No announcement yet.

Automatischer Datenimport

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

  • Automatischer Datenimport

    Hallo zusammen,
    da ich ziemlich neu in Sachen SQL bin wende ich mich mit meinem Problem an euch.
    Ich bekomme jeden Tag Files, die in eine Tabelle importiert werden müssen.
    In der Datei liegen immer ca. 100 einträge. Die Dateien werden immer kurz vor 10:00 Uhr auf den Server gelegt.
    Die Files haben das Muster:
    Paul ; Meier; 20070209 ; 0123123; 08:00:00 ; 17:00:00
    Der Namen der Files ist:
    01.01.2007.000001.dat …… 01.01.2007.n
    Ich habe das erste File manuell Importiert und die Tabelle entsprechend angepasst.
    Nun meine Fragen:
    Gibt es eine Möglichkeit z.B. auf DOS ebene ein Script zu schreiben, das mir die Files automatisch in meine Tabelle Importiert?
    oder
    Gibt es eine Möglichkeit den SQL Server anzuweisen das er mir die Files automatisch in meine Tabelle Importiert?
    Ich benutze einen SQL Server 2005
    Mit dem SQL Server …. Studio habe ich es schon hinbekommen und es hat auch super geklappt. Nur kann ich da keine Parameter übergeben ( bzw ). Da die Datei Namen sich immer Ändern brauche ich so was.
    Gruß
    Athos

  • #2
    Hallo,

    die genannten Anforderungen sind die ideale Steckbrief für ein MS SQL Server 2005 Integration Services-Projekt. Die Package benötigt die folgenden Zutaten:

    1. Ein Foreach Loop Container verwendet den Enumerator Foreach File Enumerator, um sich alle Dateien mit der passenden Suchmaske aus dem definierten Festplattenverzeichnis auflisten zu lassen.

    2. Für jede Datei werden dann die notwendigen Verarbeitungsschritte ausgeführt, wobei am Ende ein File System Task die bereits verarbeiteten Dateien entweder löschen oder in ein anderes Verzeichnis verschieben kann.


    In einem Integration Services-Projekt können mehr als 20 bereits vordefinierte Tasks als Komponente "visuell" verbaut werden. Auf der Control Flow-Oberfläche (Flowchart) werden entweder Tasks oder Container abgelegt. Tasks stehen für atomare Ausführungschritte. Die Reihenfolge der Ausführung von Tasks legen die Eigenschaften der Verbindungslinien zwischen den Tasks fest. Die Container (Sequence Container, For Loop Container, Foreach Loop Container) erlauben eine Verschachtelung, da auch die Package nur ein Top-Level-Sequence Container ist. Jeder Sequence Container hat seinen eigenen Variablensatz.
    Ein Data Flow besteht aus einzelnen Komponenten, die durch Zugriffswege miteinander verbunden sind, indem jeweils ein Pfad zwischen den Inputs/Outputs der Komponenten definiert wird. Die Daten fließen von einer Komponente zur nächsten (über die Data Viewer ist dieser Prozess visualisierbar), wobei eine Komponente eine bestimmte Operation vornimmt:

    - Source Adapter-Komponenten stellen die Daten zur Verfügung
    - Transform-Komponenten ändern die Daten
    - Destination Adapter-Komponenten schreiben die Daten in das Ziel

    Ein SSIS-Projekt (SQL Server Integration Services) ist extrem mächtig, dies bedeutet auch, dass am Anfang ein spezielles SSIS-Buch eine gute Investition ist. Für den Anfang reicht allerdings auch das Hands On Training for SSIS (SQL Server Integration Services), das über die URL http://www.microsoft.com/downloads/d...displaylang=en heruntergeladen werden kann. Dort sind Schritt-für-Schritt-Beispiele als Word-Datei inklusive den SSIS-Beispielprojekten zu finden.

    Comment


    • #3
      Hallo Andreas,
      vielen Dank für Deine Antwort. Ich werde mir dann mal das Integration Services Projekt anschauen.
      Einen DOS Befehl like „parameter >> meineDB/meineTabelle“ gibt es nicht?
      Gruß
      Athos

      Comment


      • #4
        Hallo,

        Einen DOS Befehl like „parameter >> meineDB/meineTabelle“ gibt es nicht?
        das Dienstprogramm bcp.exe ist in der Lage, Daten aus Dateien zu importieren. Wenn der Dateiaufbau nicht dem "Standard" entspricht, muss eine Formatdatei die Struktur der Datei beschreiben.

        Comment


        • #5
          Hallo Andreas,
          erstmal Danke für Deine Antworten.
          Ich habe mir das MS SQL Server 2005 Integration Services-Projekt nun angeschaut und getestet.
          Das war echt eine Super Idee von Dir. Mann könnte meinen die haben das extra für mich entwickelt. Da ist alles dabei was ich brauche.
          Gruß
          Athos

          Comment

          Working...
          X