加载JSON至Dataverse时唯一键失效,重复记录问题求助
解决Dataverse加载JSON时重复记录未替换的问题
排查与解决步骤:
- 确认唯一键配置一致性
检查数据流中的唯一键字段和Dataverse表的唯一键必须完全匹配:- 字段名称、数据类型严格对齐(比如JSON里的
order_id对应Dataverse的orderid会导致匹配失效) - 确保JSON数据里的唯一键无空值、无格式偏差(比如字符串ID带前后空格、数字ID被转为字符串类型)
- 字段名称、数据类型严格对齐(比如JSON里的
- 验证数据流的写入行为
必须将数据流目标设置改为**“更新或插入(Upsert)”**,而非默认的“仅插入”:- Power Automate数据流:在目标表配置的“写入行为”中选择
Upsert - Data Factory数据流:在映射后确认“更新方法”为基于唯一键的更新模式
- Power Automate数据流:在目标表配置的“写入行为”中选择
- 检查数据转换环节的字段篡改
排查数据流中的清洗、转换步骤,确保没有修改唯一键字段:- 比如意外修改了ID的大小写、添加了额外字符,导致和Dataverse现有记录的唯一键无法匹配
- 验证Dataverse唯一键约束生效
手动在Dataverse表插入一条重复唯一键的记录,确认系统抛出错误,以此验证唯一键约束已启用:- 若手动插入不报错,说明唯一键配置未生效,需重新创建(注意:Dataverse唯一键最多包含3个字段,且不能是自动编号字段)
- 排查JSON解析问题
确认JSON加载时没有解析错误:- 比如日期型唯一键被解析为不同格式、特殊字符转义错误,导致唯一键值不一致
快速验证方案
取Dataverse中已存在的一条记录,提取其唯一键值,修改JSON中对应记录的其他字段,单独加载这条记录,观察是否替换原有记录而非新增。若仍新增,重点排查字段匹配和数据格式问题。
内容的提问来源于stack exchange,提问作者Luuk_148
相关产品推荐
相关产品推荐

