为什么这个简单的查询在 mule 流中失败了?
Why this simple query is failing in a mule flow?
我必须在知之甚少的情况下对现有的 mule 流进行一些更改,虽然我花了几天时间阅读在线文档和可能的解决方案,但我无法弄清楚为什么这个查询失败了,因为我也有使用#[xxx] 参数在我的流程中进行更多动态查询。查询如下:
select times from user_request where
ip_address=SUBSTR(#message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS],2,INSTR(#[message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS], ':')-2)
and request_date=CAST(CURRENT_DATE as varchar2(8))
我得到的错误是:
Message : Index: 0
(java.lang.IndexOutOfBoundsException). Payload :
{fecha_solicitud=2016-06-22, moneda=USD, client_id=RIVERA,
user_ip=127.0.0.1, request_times=0} Payload Type :
java.util.LinkedHashMap Element :
/OANDAFlow/processors/3 @ oanda:oanda.xml:126 Element XML :
select times from user_requestwhere
ip_address=SUBSTR(#[message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS],2,INSTR(#[message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS],
':')-2)and request_date=CAST(CURRENT_DATE as
varchar2(8))>
注:date转为varchar是因为request_date列是varchar
我已经在 Oracle SQL 开发人员中直接尝试了这个查询来替换 #[message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS]
使用 /127.0.0.1:55406
之类的示例,它工作正常,那么为什么通过 mule 失败了???
第一个:#message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS]你少了一个[
您查询中的一个字段需要 字符串值 尝试使用单引号..它会起作用,
试试这个
select times from user_request where
ip_address=SUBSTR('#message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS]',2,'INSTR(#[message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS]', ':')-2)
and request_date=CAST(CURRENT_DATE as varchar2(8))
我必须在知之甚少的情况下对现有的 mule 流进行一些更改,虽然我花了几天时间阅读在线文档和可能的解决方案,但我无法弄清楚为什么这个查询失败了,因为我也有使用#[xxx] 参数在我的流程中进行更多动态查询。查询如下:
select times from user_request where
ip_address=SUBSTR(#message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS],2,INSTR(#[message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS], ':')-2)
and request_date=CAST(CURRENT_DATE as varchar2(8))
我得到的错误是:
Message : Index: 0 (java.lang.IndexOutOfBoundsException). Payload : {fecha_solicitud=2016-06-22, moneda=USD, client_id=RIVERA, user_ip=127.0.0.1, request_times=0} Payload Type : java.util.LinkedHashMap Element : /OANDAFlow/processors/3 @ oanda:oanda.xml:126 Element XML : select times from user_requestwhere ip_address=SUBSTR(#[message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS],2,INSTR(#[message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS], ':')-2)and request_date=CAST(CURRENT_DATE as varchar2(8))>
注:date转为varchar是因为request_date列是varchar
我已经在 Oracle SQL 开发人员中直接尝试了这个查询来替换 #[message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS]
使用 /127.0.0.1:55406
之类的示例,它工作正常,那么为什么通过 mule 失败了???
第一个:#message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS]你少了一个[
您查询中的一个字段需要 字符串值 尝试使用单引号..它会起作用,
试试这个
select times from user_request where
ip_address=SUBSTR('#message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS]',2,'INSTR(#[message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS]', ':')-2)
and request_date=CAST(CURRENT_DATE as varchar2(8))