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

使用SSIS条件拆分组件比较日期时遇主键冲突问题

解决方案

  1. 验证日期解析正确性
    尽管已配置CSV的INVOICE_DATE列为时间戳类型,SSIS平面文件源仍可能因格式识别错误导致日期解析偏差。在数据流中添加数据查看器,检查解析后的INVOICE_DATE值:比如确认04/03/2025被解析为2025年3月4日,而非2025年4月3日。若解析错误,需在平面文件连接管理器的「高级」标签中,为INVOICE_DATE列指定格式为dd/MM/yyyy HH:mm:ss。

  2. 确认变量赋值时机与作用域
    确保User::ultimaFecha变量在数据流任务执行前完成赋值:

    • 控制流中先执行「执行SQL任务」获取最新日期,再启动数据流任务
    • 检查「执行SQL任务」的结果集配置:设置为「单行」,并将查询结果正确映射到User::ultimaFecha变量
  3. 修正条件拆分规则
    确认规则语法与逻辑正确性:

    • 若需求是插入早于最新日期的记录,规则应为INVOICE_DATE < @[User::ultimaFecha],注意变量引用格式是否正确(比如变量名大小写是否匹配)
    • 若需包含等于最新日期的记录,调整为INVOICE_DATE <= @[User::ultimaFecha]
  4. 主键冲突处理与优化

    • 临时规避:在插入前添加「查找转换」,检查VOUCHER_NO是否已存在于FuelConsumption表,仅插入不存在的记录
    • 长期优化:
      • 若VOUCHER_NO存在重复可能,将主键改为复合主键(如VOUCHER_NO + INVOICE_DATE)
      • 或新增自增ID作为主键,将VOUCHER_NO设为唯一约束

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 07:06:08