Почему этот простой запрос терпит неудачу в потоке мулов?

Мне нужно внести некоторые изменения в существующий поток мулов с небольшими знаниями, и хотя я потратил несколько дней на чтение онлайн-документации и возможных решений этого, я не могу понять, почему этот запрос не работает, поскольку у меня также есть больше динамических запросов в моем поток с параметрами # [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))

И ошибка, которую я получил:

Сообщение: Индекс: 0 (java.lang.IndexOutOfBoundsException). Полезная нагрузка: {fecha_solicitud = 2016-06-22, moneda = USD, client_id = RIVERA, user_ip = 127.0.0.1, request_times = 0} Тип полезной нагрузки: java.util.LinkedHashMap Элемент: / OANDAFlow / processors / 3 @ oanda: oanda. xml: 126 Элемент XML: выберите время из user_request, где ip_address = SUBSTR (# [message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS], 2, INSTR (# [message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS], ':') - 2 request (CASTRENT_DATE) varchar2 (8))>

Примечание. Преобразование даты в varchar происходит потому, что столбец request_date имеет значение varchar.

Я пробовал этот запрос непосредственно в разработчике Oracle SQL, заменив #[message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS] на и пример, например /127.0.0.1:55406, и он работал нормально, так почему через mule не работает ???


person Arcones    schedule 22.06.2016    source источник


Ответы (2)


Одно из полей в вашем запросе ожидает строковое значение, попробуйте поставить одинарную кавычку .. это сработает,

Попробуйте это 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))

person scorpion    schedule 24.06.2016

В первом: #m essage.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS] отсутствует [

person Victor P.    schedule 22.06.2016
comment
На самом деле у меня в коде была скобка, я не знаю, преобразовал ли я скопированную пасту этим редактором страницы ... В любом случае спасибо! - person Arcones; 25.06.2016