ADF映射数据流传递字符串参数至派生列报错咨询
解决ADF数据流字符串参数在派生列中被识别为列名的问题
问题原因
字符串类型参数直接在派生列表达式中引用时,ADF会将参数值(如ClientA)解析为列名而非字符串字面量,导致"Column 'ClientA' used in expression is unavailable or invalid"错误。而int类型参数因是数值类型,不存在这种歧义,所以可直接引用。
解决方案
在派生列表达式中,通过拼接单引号的方式将参数值转换为字符串字面量,具体写法如下:
concat('''', $ClientName, '''')
- 这里用两个单引号(
'')表示转义后的单个单引号,通过concat函数将参数值包裹在单引号中,ADF就会将其识别为字符串值而非列名。
验证方法
调试时查看派生列的输出,会发现列值已正确设置为参数值ClientA,而非尝试引用名为ClientA的列。
内容的提问来源于stack exchange,提问作者chwanhun
相关产品推荐
相关产品推荐

