0

Ich habe 4 verschiedene Textdateien jede Datei mit unterschiedlichem Namen und unterschiedlicher Spalte in einem Ordner. Ich möchte, dass diese vier Dateien in vier verschiedene vorhandene Tabellen eingefügt oder aktualisiert werden. So, wie zu lesen, lesen Sie diese 4 Dateien dynamisch und fügen Sie sie in ihrer jeweiligen Tabelle dynamisch in SSIS ein.Einfügen mehrerer Textdateien

Antwort

0

Nun, müssen Sie Datenflusstask verwenden, um Daten aus einer Flat File Quelle in einer Tabelle Ziel zu bewegen (OLEDB Destination vielleicht). Sind die Spalten in Ihrer Datei in irgendeiner Weise abgegrenzt? Zum Beispiel mit einer dieser: (;), (|) oder so ähnlich? Wenn dies der Fall ist, können Sie einen FlatFileConnectionManager erstellen und festlegen, dass die Spalten aufgeteilt werden. Wenn nicht, müssen Sie möglicherweise die Option FixedWidth verwenden, um Ihre Spalten zu trennen. Um das OLEDB-Ziel zu verwenden, müssen Sie einen OLEDB-Verbindungsmanager erstellen, um auf die Tabelle in Ihrer Datenbank zu zeigen. Ich könnte Ihnen mehr helfen, wenn ich mehr Informationen über die Dateien hätte, aus denen Sie die Daten lesen möchten.

EDIT

Gut gesagt, Sie zu Beginn Sie mit 4-Dateien und 4 Tabellen gearbeitet, so dass man als gut 4 Wohnung Destination sourcers mit 4 OLEDB Zielen erstellen (1 jeder für jedes Flat-File). Wenn ich Sie richtig verstanden habe, können oder können diese 4 Dateien noch nicht existieren. Wenn Sie also wissen, welche Namen die Dateien erhalten, ändern Sie die Paketeigenschaft DelayValidation in true und erstellen Sie dann eine Verbindung mit einer Beispieltextdatei. Sie tun dies, damit der Dateipfad gespeichert wird. Die Tische müssen meiner Meinung nach existieren. Wenn Sie jetzt sagten:

Ich möchte alle Textdateien in jede andere vorhandene Tabelle laden, wenn sich Dateien im Ordner befinden.

Der einzige Weg, ich weiß, Sie etwas Ähnliches tun können, ist die Ausführung des Pakets mit SQL Server Agent Job zu einem bestimmten Zeitpunkt zu planen. Bitte lassen Sie mich wissen, ob dies das war, was Sie gesucht haben.

+0

ja die Textdateien sind begrenzt. Ich möchte ein einzelnes Paket erstellen, um alle diese Textdateien mit Trennzeichen auf einmal in verschiedene Tabellen zu laden und dann die Dateien in den verschiedenen Speicherorten zu archivieren. – Jason312

+0

@ Jason312 ok. Wie ich schon sagte, müssen Sie die Datenfluss-Aufgabe verwenden, und ziehen Sie einfach FlatFileSource, um einen connectionMannager zu erstellen, und machen Sie dasselbe mit dem OLEDB-Ziel. Ich würde vorschlagen, eine Tabelle mit den gleichen Spalten wie eine der 4 zu erstellen, die Sie einfügen möchten. [Sie werden dieses Tutorial sehr nützlich finden] (https://katieandemil.academy/create-ssis-package-find-an-example-how-to-create-an-ssispackage-a-simple-one) – Mokz

+0

I Ich bin neu zu SSIS, aber Ihr Weg ist nur einfache flache Dateieingabe. Mein Zweck dieses Projekts ist die Automatisierung des Prozesses. Ich möchte alle Textdateien in jede andere vorhandene Tabelle laden, wenn sich Dateien im Ordner befinden. Zum Beispiel Eine Textdatei in eine Tabelle, eine B-Textdatei in eine B-Tabelle usw. Ich habe versucht, foreachloop zu verwenden, aber es geht nur zum selben Ziel. Wie wird das Ziel dynamisch gemacht, und auch, weil einige der Datensätze doppelt vorhanden sind, wie wird die Lookup-Funktion verwendet, um sich mit diesen Aufgaben zu verbinden? – Jason312

Verwandte Themen