在ADF中查询Salesforce Case对象遇关键字误识别问题,求解决方法
解决ADF复制活动中Salesforce Case对象查询的关键字冲突问题
问题核心是Salesforce的Case对象名属于SOQL保留字,同时又和TSQL关键字重名,导致ADF误解析语法。你之前尝试的单引号、方括号都是TSQL的转义规则,不适用于SOQL,所以无效。
直接用SOQL的保留字转义规则修改查询语句即可:
SELECT * FROM "@{item().object_name}" WHERE CreatedDate > '@{formatDateTime(item().last_run_time,'yyyy-MM-dd HH:mm:ss')}'
关键说明:
- SOQL中要求用双引号包裹保留字类型的对象名,而非TSQL的方括号或单引号。
- 确保ADF的Salesforce数据源连接配置正确,查询会被提交给Salesforce执行SOQL,而非本地解析为TSQL。
- 可以先测试硬编码的查询语句验证有效性:
确认能正常返回数据后,再替换回参数化写法。SELECT * FROM "Case" WHERE CreatedDate > '2024-01-01 00:00:00'
内容的提问来源于stack exchange,提问作者TEEmoney
相关产品推荐
相关产品推荐

