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

Azure Data Factory含TIMESTAMP列的表执行UPSERT报错如何解决?

Azure Data Factory TIMESTAMP列更新报错解决方案

针对ADF操作含TIMESTAMP(ROWVERSION)列的表时出现的Cannot update a timestamp column错误,可通过以下几种方式解决:

  • 调整写操作模式:若使用Upsert模式,ADF可能会默认将TIMESTAMP列纳入比较逻辑。改为仅Insert或仅Update模式,或在Upsert配置中明确指定业务主键列,排除TIMESTAMP列作为匹配或更新列。

  • 使用自定义SQL语句:放弃ADF自动列映射,直接编写SQL执行写入操作,仅包含需要更新/插入的列。例如更新语句:

UPDATE target_table
SET column1 = @column1, column2 = @column2
WHERE primary_key = @primary_key

通过这种方式完全规避对TIMESTAMP列的操作,由SQL Server自动维护该列值。

  • 源端过滤TIMESTAMP列:在源数据集的查询中显式指定所需列,排除TIMESTAMP列。例如使用SELECT id, column1, column2 FROM source_table替代全表选择,确保ADF处理的数据集不包含TIMESTAMP列。

  • 检查Sink列映射配置:禁用自动映射,手动指定源与目标的列映射关系,确保TIMESTAMP列未被包含在映射列表中。同时确认Sink的写设置中未开启强制包含所有列的选项。

内容的提问来源于stack exchange,提问作者Thomas L.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 01:36:29