2017-09-15 180 views
0

我具有以下csv文件:忽略从平面文件源最后/损坏记录在SSIS

col1, col2, col3 
"r1", "r2", "r3" 
"r11", "r22", "r33" 
"totals","","", 

接着用2个空行。导入失败,因为在最后一个数据行末尾有额外的逗号,并且最后可能会失败,因为最后有多余的空行。

我能否以某种方式跳过最后一行,甚至当我进入该行时停止导入?它总是在“col1”中有“总计”字符串。

UPDATE:

至于我能从这是不可能做到这一点与平面文件的答案的理解。目前我以“脚本组件”作为源代码来执行此操作

+0

什么SSIS的版本( SQL服务器版本) – Jayvee

回答

1

我知道SSIS中没有内置任何内容,可让您忽略CSV的最后一行。

处理此问题的一种方法是在您的数据流之前添加一个脚本任务,该脚本任务使用FileSystemObject编辑CSV并删除最后一行。

1

您将需要创建一个自定义脚本,您可以在其中读取SSIS中所有行,而只读取最后一行。

2

您可以通过将该行读取为单个字符串来完成此操作。

有条件拆出空和左(COL0)== “总”

在脚本组件

你再使用分割功能

最后修整( “\”“)