SSIS 平面文件目标在每个固定列值之后以逗号分隔(在列的固定长度之后)

SSIS Flat File destination Comma separated after each fixed column value (After Fixed Length of column)

我花了将近一天的时间来寻找解决方案,但到目前为止还没有成功。

问题来了: 在我的 SSIS 包中,我试图将数据从 SQL 服务器 table 导出到具有固定长度选项的平面文件目标,后跟逗号。

Ex:  Account     Address          Zip
     123456    ,2525 Est dr     ,77077
     563       ,12 we dr        ,75023

如果您看到上面的示例,帐户长度为 10 个字符,地址长度为 16 个字符。

所以我需要像这样写入固定长度后跟逗号的平面文件(换句话说,逗号应该出现在列之间)

但是 SSIS 的平面文件目标,我无法同时设置固定长度和逗号分隔符。任何一个都在工作,但不是两个都在工作。

请给我建议选项,以实现此行为。

对于平面文件来说,这是一个奇怪的模式,但是没问题。设置要固定的平面文件。然后自己用尾随空格和逗号填充列。我想到了两种方法。

  1. 更新您的 OLE DB Source 组件以使用 SQL 为您填充的语句..

    SELECT 
        Account + REPLICATE(' ',10 - LEN(Account)) + ',',
        Address + REPLICATE(' ',16 - LEN(Address)) + ',',
        Zip + REPLICATE(' ',5 - LEN(Zip)) + ','
    FROM MyTable
    
  2. 使用Derived Column Transformation做类似的事情。