SSIS 2012:修剪CSV输出中的尾随逗号

时间:2014-05-27 23:23:34

标签: sql-server csv ssis

我有一个文件,我无法控制输出,每个数据行都有一个尾随逗号,而不是标题行。

"Pid","Dtdate","Tencode","Stype","Amount","Currentbal"
"13773793","05/26/2014","Abc123","PAYMENT","50.00","1807.95",
"13773794","05/26/2014","Abc123","ADJUSTMENT","10.00","18.95",
"",

我试图找出如何修剪尾随逗号的每一行,以便它能正确读取SSIS。

"Pid","Dtdate","Tencode","Stype","Amount","Currentbal"
"13773793","05/26/2014","Abc123","PAYMENT","50.00","1807.95"
"13773794","05/26/2014","Abc123","ADJUSTMENT","10.00","18.95"
""

我假设我会使用脚本转换,但这就是我遇到的问题,我不能编程,所以我在VB脚本任务中相当新手。

可能值得一提的是,这是在FOR每个循环中获取文件夹中的所有文件。通常只有一个文件,但我正在为倍数的潜力腾出空间,文件名是文件名的变量表达式:@ [User :: FileName]

我的假设是,一旦动态生成文件,您将失去指定列规则的能力。这就是为什么我正在寻找一种方法来修剪每行的尾随逗号。

我得到的错误是

[Flat File Source [18]] Error: The column delimiter for column "Currentbal" was not found. 
[Flat File Source [18]] Error: An error occurred while skipping data rows.

我认为这是因为尾随逗号告诉系统应该有另一列没有关联的标题。删除尾随逗号后,文件处理正常。

2 个答案:

答案 0 :(得分:0)

尝试设置最后一列的列分隔符,如下所示。您需要在框中键入此内容,而不要使用Combobox选项。 (或者只选择{LF}并编辑文本并在其前面放一个逗号) enter image description here

答案 1 :(得分:0)

更简单的方法是更改​​连接管理器以跳过标题行。

  • 要跳过的标题行:1
  • 第一个数据行中的列名称:未选中

enter image description here