如何解决使用 tDBinput 和 Talend 选择 globalmap 给出错误:字符常量无效
我必须从人名中删除重音符号,但我无法在 Talend 中应用该函数,而该函数在 sql oracle 中有效。
此查询适用于我的 tDBInput 组件:
"SELECT '"+((String)globalMap.get("copyOfSORTIE.NOM"))+"' as nom_nom_compl,'"+((String)globalMap.get("copyOfSORTIE.ENTETE"))+"' entete
FROM DUAL"
此查询不起作用:
"SELECT '"+((String)globalMap.get(CONVERT("copyOfSORTIE.NOM",'US7ASCII')))+"' as nom_nom_compl,'"+((String)globalMap.get("copyOfSORTIE.ENTETE"))+"' entete
FROM DUAL"
在我的天赋中:
我收到此错误
它工作的语法是什么?
谢谢!
解决方法
有两件事:
-
我不知道 CONVERT 方法,但我可以看到您将它应用于 globalMap 变量的键,而不是值(好像您想转换“myKey”而不是“myValue " 附在钥匙上)。您确定这是您想要实现的目标吗?如果不是,语法应该类似于
"SELECT CONVERT('"+((String)globalMap.get("copyOfSORTIE.NOM"))+"','US7ASCII') "
-
在 talend 中实现的一个有用的 Java 方法是
TalendString.removeAccents("")
,您可以将它直接应用于您的 talend 变量,因此不使用 SQL 方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。