Benutzer mit den meisten Antworten
SSIS: Foreach Loop Container

Frage
-
Hallo,
ich möchte alle *.CSV Dateien eines Verzeichnisses in eine SQLSERVER Tabelle einlesen. Dazu habe ich mir gedacht, der "Foreach Loop Container" mit einem "File Enumerator" wäre wohl dafür geeignet. Über eine Variable und einen Script-Task innerhalb des Loop Containers kann ich mir alle Dateien des angegebenen Ordners anzeigen lassen.
Wie aber schaffe ich es, dass er mir die Dateien in meine Zieltabelle importiert? Ich musste ja irgendwie dem Flat File Source die Variable aus dem Loop Container übergeben...? Wie mache ich das?
Vielen Dank schonmal für eure Unterstützung!!!
Viele Grüße
Micha
Antworten
-
Die Flatfile Connection im Verbindungs-Manager kann ebenfalls über eine Expression die Datei aus einer Varible auslesen. In dem Fall ist aber das Delayvalidation=True einzuschalten, damit die Auswertung der Varibale erst unmittelbar vor dem Zugriff passiert.
Die passende Eigenschaft in der Expression-Box ist ConnectionString. Da muss die Variable mit dem Dateinamen eingefügt werden.
Visit my Blog at my Company ComeUp GmbH & Co. KG or contact me directly on subjects like MDX, SSAS, SSRS, SSIS, Performance Tuning and Database Design. Read my new Book: Business Intelligence-Lösungen mit SQL Server 2008 R2: Integration Services, Analysis Services, Reporting Services- Als Antwort vorgeschlagen Andy Löwen Mittwoch, 21. April 2010 06:37
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 4. Mai 2010 16:02
-
Hallo Micha,
wenn du Flat File Connection Manager Editor geöffnet hast, klick einfach den Knopf Browse... und wähle eine Datei aus. Dann wird die Fehlermeldung "A valid file name must be selected." ausgeblendet.
Gruß Yury- Als Antwort vorgeschlagen Yury Iwtschenko Samstag, 1. Mai 2010 18:48
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 4. Mai 2010 16:02
Alle Antworten
-
Die Flatfile Connection im Verbindungs-Manager kann ebenfalls über eine Expression die Datei aus einer Varible auslesen. In dem Fall ist aber das Delayvalidation=True einzuschalten, damit die Auswertung der Varibale erst unmittelbar vor dem Zugriff passiert.
Die passende Eigenschaft in der Expression-Box ist ConnectionString. Da muss die Variable mit dem Dateinamen eingefügt werden.
Visit my Blog at my Company ComeUp GmbH & Co. KG or contact me directly on subjects like MDX, SSAS, SSRS, SSIS, Performance Tuning and Database Design. Read my new Book: Business Intelligence-Lösungen mit SQL Server 2008 R2: Integration Services, Analysis Services, Reporting Services- Als Antwort vorgeschlagen Andy Löwen Mittwoch, 21. April 2010 06:37
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 4. Mai 2010 16:02
-
Hallo Andy,
erst einmal vielen Dank für die Antwort.
Ich hab es aber noch immer nicht hinbekommen...
So hab ich das Ganze jetzt aufgebaut:
Im Control Flow:
Ein Foreach Loop Container der aus einem Verzeichnis alle *.CSV Dateien ausliest und in die Variable User::FileName übergibt (soweit klappt es schonmal). In diesem Container der Data Flow Task.Im Data Flow Task:
Eine Flat File Source verbunden mit einer OLE DB Destination (SQL SERVER Tabelle)Im Connection Manager:
unter "File Name:" (ConnectionString) die Variable User::FileName und Delayvalidation=Truebereits im ConnectionManager erscheint die Meldung: "A valid name must be selected."
auch beim ausführen des Packages bekomme ich diesen Fehler.
Irgendwas schein hier noch nicht ganz schlüssig zu sein.
Hast du vielleicht noch eine Idee wie ich das zu laufen bekomme?
Vielen Dank und viele Grüße
Micha
-
Schick mir mal bitte deine Mail adresse dann schicke ich dir ein Test Paket. aloewen@comeup-soft.de
Visit my Blog at my Company ComeUp GmbH & Co. KG or contact me directly on subjects like MDX, SSAS, SSRS, SSIS, Performance Tuning and Database Design. Read my new Book: Business Intelligence-Lösungen mit SQL Server 2008 R2: Integration Services, Analysis Services, Reporting Services -
Hallo Micha,
wenn du Flat File Connection Manager Editor geöffnet hast, klick einfach den Knopf Browse... und wähle eine Datei aus. Dann wird die Fehlermeldung "A valid file name must be selected." ausgeblendet.
Gruß Yury- Als Antwort vorgeschlagen Yury Iwtschenko Samstag, 1. Mai 2010 18:48
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 4. Mai 2010 16:02