我正在嘗試使用Oracle 11g進行一些SQL查詢,並且在使用ora:contains
時遇到問題。我使用Spring的JDBC實現和我的代碼生成的SQL語句:ora的LPX-00607:包含在java中但不包含sqlplus
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
感謝您編輯小馬。這是我的第一個問題,我想我沒有閱讀那邊的橙色盒子。=) – Windle 2010-03-21 05:10:57