У меня есть приложение Mule, выполняющее запрос БД, который работает отлично (хотя и немного медленнее). Это деталь:Почему я не могу использовать CTE в моей инструкции select?
- Mule 3.7.2 EE
- AnyPoint Студия 5.4.1
- jdk1.7.0_51
- Использование оракула
ojdbc6
драйвера
Теперь, когда я создаю database
соединение используя драйвер ojdbc6
, без использования выражения Common Table Expression (CTE) запрос выполняется нормально (через 2,5 секунды).
Когда я использую мой КТР, запрос завершается с ошибкой:
org.mule.api.MessagingException
: Query type must be one of '[SELECT, STORE_PROCEDURE_CALL]' but was 'DDL' (java.lang.IllegalArgumentException
). Message payload is of type: NullPayload
Ясно в какой-то момент сервер Mule EE думает, что я пытаюсь выполнить DDL, когда я не.
Новый запрос, используя CTE, отлично работает (на .250 с) в SQL Developer, поэтому я знаю, что это не мой запрос.
Почему я не могу использовать инструкцию CTE (WITH
) в Mule?
Это известная проблема? Я делаю что-то неправильно?
запросов (упрощенный) перед КТР:
SELECT '1' AS COLUMN_ONE, 'X' AS COLUMN_X
FROM DUAL
запросов (упрощенный) после того, как СТЕ:
WITH TBL AS
(
SELECT '1' AS COLUMN_ONE, 'X' AS COLUMN_X
FROM DUAL
)
SELECT * FROM TBL