gpt4 book ai didi

mule - 如何在 Mule 中将逗号分隔字符串传递给 JDBC 查询

转载 作者:行者123 更新时间:2023-12-05 00:45:26 26 4
gpt4 key购买 nike

在这里,我需要将动态的多个客户 ID 传递给 mule 中的选择查询。所以我想出了一个逗号分隔的字符串,其中包含我的客户 ID,例如:字符串 custid=1001,1002 .我正在使用 groovy evalutor 将字符串值提取到 JDBC 查询中。但是在执行查询后我收到了一个空的有效负载。也适用于像 这样的单值字符串字符串 Custid =1001 我得到了想要的结果。因此,在 Mule 中,它是否为字符串附加单引号,例如 '1001,1002' ,是什么导致了这个问题?

请帮我解决这个问题。另外请让我知道是否有其他方法可以解决这个问题?

这是我的代码片段:

<jdbc:query key="getCustID" value="SELECT CUSTID,CUSTTYPE FROM CUSTINFO WHERE CUSTID IN  (#[groovy:payload.custid]) "/>

最佳答案

Mule 替换表达式,如 #[groovy:payload.custid]带有绑定(bind)参数,所以这就是它不起作用的原因:逗号分隔的值被替换为单个参数。

对于您想要做的事情,我没有很好的解决方案。一种方法是使用已在 JDBC connector queries map 上解析的 ID 列表注册查询。就在使用它之前。您将生成一个唯一的查询名称(如 UUID)以确保它仅由当前线程使用,并且您还需要将其从 queries 中删除。使用后映射以避免内存泄漏。

虽然这非常hacky,但希望其他人会有更好的答案......

关于mule - 如何在 Mule 中将逗号分隔字符串传递给 JDBC 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11434619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com