You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSIS固定宽度文件导入短记录:无需重定义列的解决办法咨询

SSIS固定宽度文件最后一行导入问题解决方案

方案一:调整错误处理规则保留固定宽度格式

  • 打开平面文件连接管理器,切换到高级标签页
  • 找到你已经取消勾选的那个4字符最后一列,确认它的输出列宽度设为4,然后把该列的截断错误处理方式改成「忽略失败」
  • 回到平面文件源组件,确保该列未被勾选(不参与下游数据导入)
  • 这样SSIS会忽略最后一行该列的长度不足错误,正常导入这条记录的其他所有列

方案二:切换到Ragged Right格式且保留原有列定义

  • 打开平面文件连接管理器的常规标签页,把格式从「固定宽度」改成「右参差不齐(Ragged Right)」
  • 重点:不要点击「重置列」按钮!直接切到高级标签页,核对所有列的起始位置和宽度和之前的配置完全一致
  • 确认无误后保存配置,就能在保留原有150列定义的前提下,支持最后一行长度不足的情况

方案三:数据流内动态补全最后一行长度(无需修改原文件)

如果前两个方案不适用,可以用脚本组件处理:

  • 在平面文件源之后添加一个脚本组件(选择「转换」类型)
  • 打开脚本编辑器,在Input0_ProcessInputRow方法中编写代码(以C#为例):
    if (Row.SourceColumn.Length == 1330)
    {
        Row.SourceColumn = Row.SourceColumn.PadRight(1332, ' ');
    }
    
    注:SourceColumn替换成你实际用来接收整行数据的列名
  • 处理后的行再导入到SQL目标表,全程不需要修改原始文件

文件格式示例

注意最后一条记录末尾的2个空格:

'555-1234  @À555-2345  @À555-3456,è@™555-4567  @À555-5678  '

内容的提问来源于stack exchange,提问作者babno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 14:37:16