SSIS liest mehrere XML-Dateien aus dem Ordner

7

Hallo, ich bin neu bei SSIS und möchte eine Reihe von XML-Dateien in einem bestimmten Ordner lesen. Ich möchte die XML-Dateien lesen und die Daten in einer Datenbanktabelle ausgeben. Allerdings bin ich ein wenig verwirrt, wo ich anfangen soll. Könnte mir jemand in die richtige Richtung zeigen? Ich hatte eine Suche im Internet, aber alle Tutorials scheinen sich durch txt-Dateien und nicht durch XML-Dateien zu bewegen. Ich werde SQL Server 2005 verwenden, wenn das einen Unterschied macht.

Vielen Dank:)

    
Vince Ashby-Smith 05.08.2011, 12:39
quelle

1 Antwort

24

Hier ist eine mögliche Option, die zeigt, wie mehrere XML-Dateien mit derselben Definition in eine SQL Server-Tabelle geladen werden. Das Beispiel verwendet SQL Server 2008 R2 und SSIS 2008 R2 . Das hier gezeigte Beispiel lädt drei XML-Dateien mit Hilfe von SSIS Data Flow Task mit Hilfe von XML Source component in eine SQL-Tabelle.

Schritt-für-Schritt-Prozess:

  1. Erstellen Sie eine Tabelle mit dem Namen dbo.Items , indem Sie das unter SQL-Skripts angegebene Skript verwenden.
  2. Erstellen Sie eine XSD-Datei namens Items.xsd im Ordnerpfad C: \ temp \ xsd mit dem Inhalt, der im Abschnitt XSD-Datei bereitgestellt wird.
  3. Erstellen Sie drei XML-Dateien namens Items_1.xml , Items_2.xml und Items_3.xml im Ordnerpfad C: \ temp \ xml mit dem Inhalt, der unter XML-Dateien bereitgestellt wird Abschnitt.
  4. Erstellen Sie auf dem Paket 3 Variablen, nämlich FileExtension , FilePath und FolderPath , wie in Screenshot # 1 gezeigt.
  5. Erstellen Sie in den Verbindungsmanagern des Pakets eine OLE DB-Verbindung namens SQLServer , um eine Verbindung zur SQL Server-Instanz herzustellen, wie in Screenshot # 2 gezeigt.
  6. Platzieren Sie auf der Registerkarte Control Flow einen Foreach loop container und einen Data Flow Task innerhalb des Foreach-Schleifencontainers, wie in Screenshot # 3 gezeigt.
  7. Konfigurieren Sie Foreach Loop container wie in den Screenshots # 4 und # 5 gezeigt.
  8. Doppelklicken Sie auf Data Flow Task , um zum Tab Data Flow zu navigieren. Platzieren Sie eine XML Source -Komponente und eine OLE DB Destination wie in Screenshot # 6 gezeigt.
  9. Konfigurieren Sie XML Source wie im Screenshot gezeigt # 7 und # 8 . Der XML-Dateipfad wird von der Variablen FilePath abgerufen. Diese Variable wird von Foreach Loop container .
  10. ausgefüllt
  11. Konfigurieren Sie OLE DB Destination wie in den Screenshots # 9 und # 10 gezeigt.
  12. Screenshots # 11 und # 12 zeigen die Paketausführung an.
  13. Screenshot # 13 zeigt die Tabellendaten vor der Paketausführung an. Screenshot # 14 zeigt die Tabellendaten nach der Paketausführung an. Die Daten in der Tabelle dbo.Items enthalten jetzt die Daten, die in drei XML-Dateien vorhanden sind.

Ich hoffe, das hilft.

SQL-Skripts:

%Vor%

XSD-Datei

%Vor%

XML-Dateien

Items_1.xml

%Vor%

Artikel_2.xml

%Vor%

Items_3.xml

%Vor%

Screenshot 1:

Screenshot 2:

Screenshot 3:

Screenshot 4:

Screenshot 5:

Screenshot 6:

Screenshot 7:

Screenshot 8:

Screenshot 9:

Screenshot 10:

Screenshot 11:

Screenshot 12:

Screenshot 13:

Screenshot 14:

    
user756519 05.08.2011, 14:21
quelle

Tags und Links