2016-04-07 4 views
0

Ich versuche gerade, ein SSIS-Paket zu erstellen, das eine Flat-Datei in eine SQL-Datenbanktabelle importiert.Importieren von Flatfiles in SSIS mit mehreren Formatdateien

Es gibt etwa 30 verschiedene flache Dateien mit jeweils eigenen Format-Datei, die ich eine Tabelle erstellen muss, die alle relevanten Daten enthält. Die erste Zeile der flachen Dateien enthält keine Spaltenüberschriften. I.E. eine Datei könnte PostalAddress1 und eine andere PostalAddressLine1 enthalten, und das wären 2 Spalten in der Datenbank, und sie wären nullfähig. Einige flache Dateien enthalten möglicherweise mehr Daten. In diesem Fall haben solche mit weniger einen Nullwert.

Da ich mit SSIS ziemlich unerfahren bin, dachte ich, ich würde ein Skript verwenden, um die Flat-Datei zu analysieren, um die Zeilen- und Spaltenbegrenzer sowie alle Spaltennamen zu erhalten. Ich würde dann die flache Datei Quelle (Variable) setzen und es so einstellen, dass nur eine Spalte und jeder Datensatz eine Zeile in der Textdatei ist, danach benutze eine Script Transformation, um jede Zeile zu analysieren und auf die relevante Spalte zu setzen. I.E. 5-Wert ist First ich es Row.FirstName = Value[4];

gesetzt würde Nachdem die gesamte Datei ein SQL-Task ausführen kann verarbeitet wird, dass dann alle Daten von der allgemeinen Staging-Tabelle in einer anderen Tabelle schieben kann, die nur sagen würden nur Postal Feld anstelle von sagen wir 3, um für jede Formatdatei, die geliefert wird, zu passen.

Einige dieser Dateien können bis zu 2,5 GB groß sein.

Meine Fragen sind:

Wäre dies die richtige Art und Weise, dies zu tun?
Gibt es einen schnelleren/besseren/einfacheren Weg?

Antwort

0

Dies ist ein guter Kandidat für BiML, die Pakete auf der Grundlage von Metadaten dynamisch baut.

Vom BiMLScript Einführung:

Noch besser kann Automatisierungslogik direkt Biml Code in Ihre Verwendung Nuggets BimlScript Code eingebettet werden. Mit diesen Codefragmenten von C# oder VB können Sie auf externe Metadaten zugreifen, um automatisch große Mengen an Biml-Code zu erstellen. Sie können beispielsweise automatisch Staging-Umgebungen erstellen oder SCD-Muster basierend auf Spaltenmetadaten anwenden.

+0

Ich habe in BiML, [die BIDS-Helfer-Plugin] untersucht. Ich bin mir jedoch nicht sicher, wie ich Pakete basierend auf Metadaten dynamisch erstellen würde. Soweit ich weiß, entfernt es nur die Notwendigkeit, Objekte auf das Paket zu ziehen und abzulegen, und stattdessen codieren Sie einfach das gesamte Paket mit XML. Danach baue ich es. Beachten Sie auch, dass das SSIS-System, das ich sortiere, ein Paket sein muss, da dieses Paket eine Tabelle für flache Dateien abfragt, die importiert werden müssen, und basierend auf einer ID der flachen Datei erhalten wir das Format Datei dafür. Und fügen Sie es in eine Tabelle ein. – xFrenzy47x

+0

Haben Sie sich BiMLScript angesehen? http://bimlscript.com/walkthrough/Details/3105 –

Verwandte Themen