Мой запрос в хранимой процедуре выглядит следующим образом:
BEGIN
DECLARE C1 CURSOR WITH RETURN TO CALLER FOR
SELECT A.PAYLOADMSGID, A.EXCEPTIONID, A.EVENTSOURCE, A.INTERFACEID,
A.CREATIONTIME, A.SOURCEPROTOCOL, A.ERRORMESSAGE, B.SEVERITY,
B.INTERFACENAME, C.PAYLOAD
FROM E_MESSAGE AS A, E_CONFIG AS B, E_PAYLOAD AS C
WHERE A.SOURCEQUEUE LIKE '%' AND A.PAYLOADMSGID LIKE 'I000' AND A.INTERFACEID LIKE '%'
AND A.EVENTSOURCE LIKE '%' AND A.CREATIONTIME LIKE '%'
AND A.SOURCEPROTOCOL LIKE '%' AND B.SEVERITY LIKE '%' AND B.INTERFACENAME LIKE '%'
AND C.PAYLOAD LIKE '%' AND A.INTERFACEID = B.INTERFACEID AND A.PAYLOADMSGID = C.PAYLOADMSGID;
open C1;
END
В приведенном выше запросе поле C.PAYLOAD имеет тип CLOB в таблице. Получив его, я пытаюсь преобразовать его в JSON в Mule с помощью преобразователя ObjecttoJSON. Но я получаю следующую ошибку:
ОШИБКА 2016-04-07 16: 01: 41,559 [[тест] .HTTP_Listener_Configuration.worker.01] org.mule.exception.DefaultMessagingExceptionStrategy: ******************** ************************************************* ********** Сообщение: [jcc] [10120] [11936] [3.64.82] Недопустимая операция: Lob закрыт. ERRORCODE = -4470, SQLSTATE = null (через цепочку ссылок: java.util.Entry ["значение"] -> java.util.LinkedList [0] -> org.mule.util.CaseInsensitiveHashMap ["PAYLOAD"] -> com .ibm.db2.jcc.am.je ["characterStream"]) (org.codehaus.jackson.map.JsonMappingException) Код
: MULE_ERROR - 2 -------------- -------------------------------------------------- ---------------- Стек исключений: 1. [jcc] [10120] [11936] [3.64.82] Недопустимая операция: Lob закрыт. ERRORCODE = -4470, SQLSTATE = null (com.ibm.db2.jcc.am.SqlException)
com.ibm.db2.jcc.am.bd:663 (null) 2. [jcc] [10120] [11936 ] [3.64.82] Неверная операция: Lob закрыт. ERRORCODE = -4470, SQLSTATE = null (через цепочку ссылок: java.util.Entry ["значение"] -> java.util.LinkedList [0] -> org.mule.util.CaseInsensitiveHashMap ["PAYLOAD"] -> com .ibm.db2.jcc.am.je ["characterStream"]) (org.codehaus.jackson.map.JsonMappingException)
org.codehaus.jackson.map.JsonMappingException: 218 (null) 3. [jcc] [ 10120] [11936] [3.64.82] Недопустимая операция: Lob закрыт. ERRORCODE = -4470, SQLSTATE = null (через цепочку ссылок: java.util.Entry ["значение"] -> java.util.LinkedList [0] -> org.mule.util.CaseInsensitiveHashMap ["PAYLOAD"] -> com .ibm.db2.jcc.am.je ["characterStream"]) (org.codehaus.jackson.map.JsonMappingException) (org.mule.api.transformer.TransformerException)
org.mule.module.json.transformers .ObjectToJson: 103 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transformer/TransformerException.html) -------------------- -------------------------------------------------- ---------- Трассировка стека корневого исключения: com.ibm.db2.jcc.am.SqlException: [jcc] [10120] [11936] [3.64.82] Недопустимая операция: Lob закрыт. ERRORCODE = -4470, SQLSTATE = null в com.ibm.db2.jcc.am.bd.a (bd.java:663) в com.ibm.db2.jcc.am.bd.a (bd.java:60) в com.ibm.db2.jcc.am.bd.a (bd.java:94) + еще 3 (установите ведение журнала уровня отладки или '-Dmule.verbose.exceptions = true' для всего)
Может ли кто-нибудь помочь решить эту проблему. Заранее спасибо.