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

SSIS包执行成功却导出仅含表头的空CSV文件求助

排查步骤

1. 验证核心数据是否存在

  • 直接在目标数据库执行第一步的SQL语句:
    truncate table mytable;
    insert into mytable select * from myview;
    select count(*) from mytable;
    
    如果count(*)返回0,说明myview本身没有数据,问题出在上游数据源或myview的逻辑,和SSIS无关。如果返回正常行数,再继续排查SSIS环节。

2. 检查SSIS第一步的执行细节

  • 查看SSIS作业的执行日志,找到第一步SQL任务的执行记录,重点看:
    • 实际执行的SQL语句是否和预期一致(避免连接串错误连到其他库)
    • 语句影响的行数(如果是0,说明SSIS里的insert未生效)
  • 检查SQL任务的配置:
    • 确认FailTaskIfReturnCodeIsNotSuccessValue已勾选,避免SQL执行出错但任务仍标记为成功
    • 查看任务的ResultSet和Output设置,是否有隐性错误被忽略(比如字段不匹配导致插入失败但未抛出异常)

3. 验证第二步的数据源视图

  • 在数据库直接查询第二步读取的关联视图:
    select count(*) from [关联视图名];
    
    如果返回0,说明视图的关联逻辑有问题(比如关联的其他表数据被清理、关联条件失效),需要检查视图的join语句和关联表的数据状态。

4. 排查SSIS事务与隔离级别

  • 检查包级和任务级的TransactionOption设置:
    • 如果包的事务级别设为Required,且第一步任务也启用了事务,可能导致第二步读取时,第一步的插入事务未提交,从而读不到数据。尝试将包或第一步的TransactionOption改为Supported或NotSupported
  • 查看隔离级别设置,避免因隔离级别过高(如Serializable)导致读取不到未提交的数据

5. 检查第二步数据流向的错误处理

  • 查看Flat File Destination的错误输出统计:是否有大量行被错误输出丢弃(比如数据类型不匹配、长度截断)
  • 检查数据转换组件(如果有)的配置,确认没有过滤掉所有行的逻辑

6. 验证CSV写入配置

  • 检查Flat File Destination的属性:确认未勾选WriteHeaderOnly选项,该选项会仅输出表头而忽略数据行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 22:16:20