Situation: A tab delimited row from a flat file source is missing columns at the end of the row. The rows are delimited by {CR}{LF} in the Flat File Connection Manager, and the last column is delimited by {CR}{LF} as well. All other columns are delimited by Tab {t}. SSIS is importing the row.
Example:
Column_1{t} Column_2{t} Column_3{t} Column_4{CR}{LF}
123{t} 123{t} 123{t} 123{CR}{LF}
123{t} 123{CR}{LF}
123{t} 123{t} 123{{t} 123{CR}{LF}
123{t} 123{t} {t} {CR}{LF}
123{t} 123{t} 123{t} 123{CR}{LF}
Problem: A partial row that does not have the remaining columns tab delimited (see row 2 above) treats the following row as a part of the current row, while a row containing the tab delimited columns that are blank (see row 4 above) does not.
Desired Output: An error is desired to signal a partial row.
What is the best method to check for partial rows in the middle of a file?
It appears that pre-denali (2012) SSIS fails if the missing column when parsing. This is fixed in 2012 by always checking for the row delimiter.
See: http://blogs.msdn.com/b/mattm/archive/2011/07/17/flat-file-source-changes-in-denali.aspx
Work arounds for this issue in pre-2012 SSIS include writing your own parser (this is what we chose to do), converting the data before parsing it, or using the Flat File Source just to parse rows.