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

Azure Data Factory映射数据流缓存接收器Case语句表达式报错求助

解决Azure Data Factory映射数据流中CASE等效表达式的类型不匹配问题
  • 错误原因:
    你编写的表达式里,contains函数的第二个参数用了布尔表达式#item==ID,但contains要求第二个参数是与缓存集合元素同类型的值(此处缓存存储的是整数ID),布尔值和整数类型不匹配,直接触发了类型错误。同时缓存名称的引用不需要额外加#语法。

  • 正确的派生列表达式:
    直接检查当前行的ID是否存在于缓存的ID集合中即可:

    iif(contains(cachedIDs, ID), "upserted row", "deleted row")
    
  • 额外注意事项:

    • 确保当前数据流中的ID字段类型与缓存中的ID完全一致(均为整数)。如果当前ID是字符串类型,需要先转换为整数:
      iif(contains(cachedIDs, toInteger(ID)), "upserted row", "deleted row")
      
    • 再次确认缓存接收器的查询select ID from dbo.aaa返回的ID确实是整数类型,可通过「数据预览」验证。

内容的提问来源于stack exchange,提问作者Andrii Rozrutskyi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 07:50:54