Ich habe ein Problem, bei dem ich eine Textdatei mit LFs als EOL erhalte. Manchmal senden sie die Datei mit CRLFs als EOL. Hat jemand gute Ideen, wie ich SSIS entweder als EOL benutzen kann?
Es ist eine sehr einfache Konvertierungsoperation mit Notepad ++, um es zu ändern, was immer ich brauche, aber es ist manuell und ich möchte, dass es automatisch ist.
Danke,
BEARBEITEN. Ich habe es (aber nicht perfekt) mit Swiss File Knife vor dem Datenfluss behoben.
Wenn die Zeilenabschlüsse immer die eine oder die andere sind, würde ich vorschlagen, zwei Dateiverbindungsmanager einzurichten, einen mit dem Zeilenbegrenzer "CRLF" und den anderen mit dem Zeilenbegrenzer "LF".
Erstellen Sie dann eine boolesche Paketvariable (etwa @IsCrLf) und legen Sie diese in Ihrem Paket fest. Machen Sie den ersten Schritt in Ihrem SSIS-Paket mit einer Skriptaufgabe , in der Sie einen Dateistream lesen und versuchen herauszufinden, was der Leitungsabschluss ist (basierend auf dem, was Sie im Stream finden). Setzen Sie den Wert Ihrer Variablen entsprechend.
Erstellen Sie nach der Script-Aufgabe in Ihrem Kontrollfluss zwei separate Datenflüsse (einen für jeden Dateiverbindungs-Manager) und verwenden Sie eine Precedence Constraint wird auf den Konnektoren auf "Expression and Constraint" gesetzt, um abhängig vom Wert der @IsCrLf-Variable festzulegen, welcher Datenfluss verwendet werden soll.
Beispiel für den vorgeschlagenen Kontrollfluss unten.