使用SSIS导出.csv文件时所有列被逗号合并无法拆分如何解决
SSIS导出CSV未自动分列问题修复方案
1. 修正平面文件连接管理器配置
- 打开你的SSIS包,找到导出CSV对应的平面文件连接管理器,双击进入配置页
- 确认「常规」选项卡下的格式选择为
带分隔符,文本限定符按需配置(如果你的字段包含特殊字符建议设为双引号") - 切换到「列」选项卡:
- 行分隔符选择
{CR}{LF}(即回车换行,对应Windows系统标准文本换行符) - 列分隔符选择
逗号(,) - 点击右侧的「刷新」按钮,预览区应该可以直接看到拆分后的多列效果
- 行分隔符选择
- 切换到「高级」选项卡,确认系统自动识别的列名、数据类型和你存储过程返回的字段一致,如有错误手动修改即可
2. 检查数据流任务映射配置
- 打开导出对应的数据流任务,找到从存储过程数据源到平面文件目标的连接箭头,双击打开映射页
- 确认所有输入字段都和目标CSV的字段一一对应,没有出现多字段合并映射到同一个目标列的情况
3. 验证存储过程输出格式
- 确认你的存储过程返回的是常规的多列结果集,而非手动用
CONCAT/STRING_AGG等函数把多列拼接成了单个逗号分隔的字符串字段 - 可以直接在SSMS中执行该存储过程,检查输出是否为独立多列的结果
4. 特殊场景修复
如果你是用Excel打开CSV才看到不分列,不是文件本身的问题:
- 打开Excel,选择「数据」选项卡-「自文本/CSV」,导入你的CSV文件,分隔符选择逗号即可正确拆分
- 或者在CSV文件第一行加
sep=,,Excel打开时会自动识别逗号为分隔符
内容的提问来源于stack exchange,提问作者user5016413
相关产品推荐
相关产品推荐

