Среда : Oracle 11g, Weblogic 9.2, Java 4, драйвер: oracle.jdbc.OracleDriver
Контекст: Я хочу извлечь значение xml избазы данных и работы с результатом в Java, используя следующую команду select:
SELECT EXTRACT(XML_TEXT, 'PATH/TO/XML/VALUE/text()').getClobVal() AS VALUE
FROM MYTBALE WHERE id =xxxx;
Проблема : В SQL Developer можно увидеть строку, полученную в порядке, но в Java:
- Если я использую функцию
getClobVal()
, Weblogic возвращает обернутый объект типа weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB
, который я не могу ни разыграть, ни развернуть. - Если я не использую
getClobVal()
возвращает oracle.sql.Opaque
, который я не могу ни к чему привести.
Код : Использование getClobVal()
:
...
HashMap <String, Object> element = (HashMap) iter.next();
String value = (unwrap & cast in some way ) element.get("VALUE");
...
Я не могу найти способ получить строку из этого объекта, какие-либо идеи?
РЕДАКТИРОВАТЬ: Я не могу отключить обертывание Weblogic.Я подумываю сделать обходной путь на стороне базы данных, чтобы вместо этого получить блоб.