Es kommt gelegentlich vor, dass beim Importieren von Flatfiles diese durch überschüssige Zeilenumbrüche korrupt sind:

Dadurch haben wir a) Zeilen zuviel und b) sind diese unvollständig. Tritt das Problem regelmäßig auf und die Quelle kann nicht angepasst werden, muss man das Problem automatisiert behandeln. Die Standard FlatFile-Source Komponente von SSIS kann das Problem nicht handeln und gibt dem User noch nicht mal eine Fehlermeldung, da die fehlenden Spalten einfach nicht beachtet werden. Daher muss zur Lösung des Problems die Script Komponente ran. Dort parsen wir zuerst die ankommenden Zeilen per split() Befehl und weisen anschließend die resultierenden Spalten zu. Durch diese Methode erhalten wir dann auch ganz bewusst einen Laufzeitfehler (IndexOutOfBoundsException), wenn nicht alle Spalten geliefert werden. Diesen können wir anschließend per try-catch behandeln und die korrupte Zeile mit der nächsten zusammenführen:

[TS_EnlighterJS_Snippet_Single code_type=“csharp“ code_content=“cHVibGljJTIwY2xhc3MlMjBTY3JpcHRNYWluJTIwJTNBJTIwVXNlckNvbXBvbmVudCUwQSU3QiUwQSUwOSUyRiUyRiUyMGhlbHBlciUyMHZhcmlhYmxlJTIwdG8lMjBjb25jYXQlMjBpbmNvbXBsZXRlJTIwcm93cyUwQSUwOXByaXZhdGUlMjBzdGF0aWMlMjBzdHJpbmclMjBCYWRSb3dTdHJpbmclMjAlM0QlMjBudWxsJTNCJTBBJTA5cHVibGljJTIwb3ZlcnJpZGUlMjB2b2lkJTIwUHJlRXhlY3V0ZSUyOCUyOSUwQSUwOSU3QiUwQSUwOSUwOWJhc2UuUHJlRXhlY3V0ZSUyOCUyOSUzQiUwQSUwOSU3RCUwQSUwOXB1YmxpYyUyMG92ZXJyaWRlJTIwdm9pZCUyMFBvc3RFeGVjdXRlJTI4JTI5JTBBJTA5JTdCJTBBJTA5JTA5YmFzZS5Qb3N0RXhlY3V0ZSUyOCUyOSUzQiUwQSUwOSU3RCUwQSUwOXB1YmxpYyUyMG92ZXJyaWRlJTIwdm9pZCUyMElucHV0MF9Qcm9jZXNzSW5wdXRSb3clMjhJbnB1dDBCdWZmZXIlMjBSb3clMjklMEElMDklN0IlMEElMDklMDlzdHJpbmclMjBzdHJSb3clMjAlM0QlMjBudWxsJTNCJTBBJTA5JTA5c3RyaW5nJTIwc3RyQ29sU2VwZXJhdG9yJTIwJTNEJTIwJTIyJTNCJTIyJTNCJTBBJTA5JTA5c3RyaW5nJTVCJTVEJTIwcm93VmFsdWVzJTIwJTNEJTIwbnVsbCUzQiUwQSUwOSUwOSUwQSUwOSUwOSUyRiUyRiUyMHJlYWQlMjByYXclMjByb3clMjBhbmQlMjBpZiUyMHByZWNlZGluZyUyMHJvdyUyMHdhcyUyMGJhZCUyQyUyMGNvbmNhdCUyMGl0JTIwd2l0aCUyMEJhZFJvd1N0cmluZyUwQSUwOSUwOXN0clJvdyUyMCUzRCUyMEJhZFJvd1N0cmluZyUyMCUyQiUyMFJvdy5SYXdSb3cuVG9TdHJpbmclMjglMjklM0IlMEElMDklMEElMDklMDklMkYlMkYlMjBwYXJzZSUyMHRoZSUyMGNvbHVtbnMlMEElMDklMDlyb3dWYWx1ZXMlMjAlM0QlMjBzdHJSb3cuU3BsaXQlMjhDb252ZXJ0LlRvQ2hhciUyOHN0ckNvbFNlcGVyYXRvciUyOSUyOSUzQiUwQSUwOSUwOSUwQSUwOSUwOSUyRiUyRiUyMGRlY2lkZSUyQyUyMHdoaWNoJTIwcGF0aCUyMHRvJTIwbW92ZSUyMG9uJTBBJTA5JTA5dHJ5JTBBJTA5JTA5JTdCJTBBJTA5JTA5JTA5JTJGJTJGJTIwY2hlY2slMkMlMjBpZiUyMGFuJTIwZXhjZXB0aW9uJTIwb2NjdXJzJTIwd2hpbGUlMjBhc3NpZ25pbmclMjB0aGUlMjBjb2x1bW5zJTBBJTA5JTA5JTA5Um93LkNvbDElMjAlM0QlMjByb3dWYWx1ZXMuR2V0VmFsdWUlMjgwJTI5LlRvU3RyaW5nJTI4JTI5JTNCJTBBJTA5JTA5JTA5Um93LkNvbDIlMjAlM0QlMjByb3dWYWx1ZXMuR2V0VmFsdWUlMjgxJTI5LlRvU3RyaW5nJTI4JTI5JTNCJTBBJTA5JTA5JTA5Um93LkNvbDMlMjAlM0QlMjByb3dWYWx1ZXMuR2V0VmFsdWUlMjgyJTI5LlRvU3RyaW5nJTI4JTI5JTNCJTBBJTA5JTA5JTA5Um93LkNvbDQlMjAlM0QlMjByb3dWYWx1ZXMuR2V0VmFsdWUlMjgzJTI5LlRvU3RyaW5nJTI4JTI5JTNCJTBBJTA5JTA5JTA5Um93LkNvbDUlMjAlM0QlMjByb3dWYWx1ZXMuR2V0VmFsdWUlMjg0JTI5LlRvU3RyaW5nJTI4JTI5JTNCJTBBJTA5JTA5JTA5Um93LkNvbDYlMjAlM0QlMjByb3dWYWx1ZXMuR2V0VmFsdWUlMjg1JTI5LlRvU3RyaW5nJTI4JTI5JTNCJTBBJTA5JTBBJTA5JTA5JTA5JTJGJTJGJTIwY2xlYXIlMjBCYWRSb3dTdHJpbmclMjBmb3IlMjBuZXh0JTIwcm93JTIwaWYlMjBubyUyMGVycm9yJTIwb2NjdXJzJTBBJTA5JTA5JTA5QmFkUm93U3RyaW5nJTIwJTNEJTIwbnVsbCUzQiUwQSUwOSUwOSU3RCUwQSUwOSUwOSUwQSUwOSUwOWNhdGNoJTIwJTI4SW5kZXhPdXRPZlJhbmdlRXhjZXB0aW9uJTI5JTBBJTA5JTA5JTdCJTBBJTA5JTA5JTA5QmFkUm93U3RyaW5nJTIwJTNEJTIwc3RyUm93JTNCJTBBJTA5JTA5JTdEJTBBJTA5JTdEJTBBJTdE“]