SSIS:不导入列数不正确的行
我在SSIS 2008工作。我有一个非常简单的数据流任务,它将平面文件导入到OLEDB表中。平面文件有10列,它们都映射到表中相应的列中。平面文件列分隔符是管道字符,行分隔符是{CR}{LF},并且没有标题。在平面文件源上,我将Error和Truncation上所有10列的有问题的行重新定向到一个错误输出平面文件 我每天都运行这个数据流任务,但是我不能保证平面文件的每个记录都有10列。因此,因为SSIS至少有一个坏习惯,在我看来,使用行分隔符作为最后定义的列的列分隔符,然后它尝试合并行。这意味着,如果列数不足,则并非所有行都将作为单独的行导入表中。这还意味着有问题的行不一定会写入错误输出平面文件 目前,仅有两种情况:1文件将具有所需的列数,2文件列数不足。我还没有看到一个列数超过预期的文件。因为这个文件是在我的单元测试过程中使用的,所以我不想预处理这些文件以获得正确的列数。我希望有问题的行写入错误输出平面文件,或者,如果不是错误输出平面文件,至少写入其他平面文件,并且不被导入。我仍然希望导入具有正确列数的行。我怎样才能做到这一点 但是我不能保证平面文件总是有10列 每一张唱片 依我看,这是SSIS的交易破坏者,因为它需要源和目标之间的契约才能正常工作。为了避免任何错误的风险,或者在错误的列中包含数据,我建议将整行作为一个非常大的varchar列导入,然后使用T-SQL将其“解析”到10列中,检测缺陷,并优雅地处理它们SSIS:不导入列数不正确的行,ssis,Ssis,我在SSIS 2008工作。我有一个非常简单的数据流任务,它将平面文件导入到OLEDB表中。平面文件有10列,它们都映射到表中相应的列中。平面文件列分隔符是管道字符,行分隔符是{CR}{LF},并且没有标题。在平面文件源上,我将Error和Truncation上所有10列的有问题的行重新定向到一个错误输出平面文件 我每天都运行这个数据流任务,但是我不能保证平面文件的每个记录都有10列。因此,因为SSIS至少有一个坏习惯,在我看来,使用行分隔符作为最后定义的列的列分隔符,然后它尝试合并行。这意味着