Я пытаюсь выполнить несколько SQL-запросов из Oracle 11g, и у меня возникают проблемы с использованием ora:contains
. Я использую реализацию Spring JDBC, и мой код генерирует оператор sql:
select *
from view_name
where column_a = ?
and column_b = ?
and existsNode(xmltype(clob_column),
'record/name [ora:contains(text(), "name1") > 0]',
'xmlns:ora="http://xmlns.oralce.com/xdb"') = 1
Я, очевидно, удалил фактические имена представлений / столбцов, но когда я копирую их в sqlplus и подставляю в случайные значения, выборка выполняется правильно. Когда я пытаюсь запустить его в своем коде DAO, я получаю следующую трассировку стека:
org.springframework.jdbc.UncatergorizedSQLException: PreparedStatementCallback;
uncatergorizedSQLException for SQL [the big select above]; SQL state [99999];
error code [31011];
ORA-31011: XML parsing failed.
ORA-19202: Error occured in XML processing
LPX-00607: Invalid reference: 'contains';nested exception is java.sql.SQLException:
ORA-31011: XML parsing failed
ORA-19202: Error occured in XML processing
LPX-00607: Invalid reference: 'contains'
(так продолжается некоторое время ....)
Я думаю, что стоит упомянуть, что я использую Maven, и, возможно, мне не хватает какой-то зависимости, которая требуется для этого. Извините, пост слишком длинный, но я хотел ошибиться из-за слишком большого количества информации.
Спасибо, что нашли время, чтобы хотя бы прочитать это =)
-Windle