Die Option "ragged right flat file" ist großartig für ein einzelnes nachlaufendes Feld, das mit einem CRLF abgeschlossen wird, aber wenn eine beliebige Anzahl von nachlaufenden Feldern, die leer sind, unterdrückt und die Zeile vorzeitig mit CRLF abgeschlossen wird, habe ich in SSIS keine andere Möglichkeit gefunden, als ein paar Spalten mit einer einzigen "REMAINDER"-Spalte einzulesen und dann eine abgeleitete Spaltentransformation mit SUBSTRING-Operationen zu verwenden, um die "optionalen" Spalten einzeln zu extrahieren.
Eine Möglichkeit, die mir in den Sinn gekommen ist, ist, ob es eine Möglichkeit gibt, die Leitung durch eine "Padder"-Komponente innerhalb von SSIS zu leiten, bevor der Verbindungsmanager sie in die Hand bekommt. Dann könnte man alle Vorteile der Verwendung des Verbindungsmanagers zum Einrichten der eingehenden Spaltenlängen nutzen. Ich könnte immer ein externes Programm (oder einen völlig separaten SSIS-Datenfluss) erstellen, um eine Datei zu übergeben, die jede Zeile mit Leerzeichen auffüllen würde (und zwar mit ausgefranstem Recht - das Hinzufügen der gleichen Mindestanzahl von Leerzeichen, um alle unterdrückten Felder in jeder Zeile zu berücksichtigen, würde ausreichen), aber das scheint eine ziemliche Verschwendung von Festplattenspeicher zu sein und erfordert auch, dass die Datei ein weiteres Mal vollständig gelesen (und geschrieben) wird.
Vielleicht gibt es aber auch eine Datenquellenkomponente eines Drittanbieters, die bei einem vorzeitigen Abbruch der Zeile automatisch NULL oder leere Spalten erzeugt.
Gibt es noch andere Möglichkeiten?