Как обрабатывать xpath в запросе SQL при программировании на Java - PullRequest
0 голосов
/ 24 мая 2010

Я пытаюсь выполнить инструкцию SQL из моего Java-приложения.

Из-за ограничения URL-адреса веб-сайта, я заменил http = htp для этого сообщения.

SELECT DISTINCT(DID) 
  FROM (SELECT e_id DID,
               xml_doc xml, 
               rownum rn from employee_master_indexes)," +
               " table(XMLSequence(extract(xml,'//cf:SalesReport/ext:Sales/*//j:PersonAssignedIDDetails/j:PersonID/j:ID',"+ 
              "'xmlns:j=\" htp://www.it.jvp.com/xmm/3.0.3\" 
                xmlns:xsi=\" htp://www.w3.org/2001/XMLSchema\" "  +   
               "xmlns:ext=\" htp://xml.crossflo.com/xdm/3.0.3/extension\" 
                xmlns:cf=\" htp://xml.crossflo.com/xdm/3.0.3\" ')))EMPID" +
              "WHERE extractValue(value(EMPID),'/j:ID', 'xmlns:j=\" htp://www.it.jvp.com/xmm/3.0.3\"')  LIKE '%-%-%' AND rn BETWEEN 999 AND 2001";

, но в итоге получаю

10/05/24 11:11:51 java.sql.SQLException: ORA-00933: команда SQL неправильно завершилась 05.10.24 11:11:51 в oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:138) 05.10.24 11:11:51 в oracle.jdbc.driver.T4CTTIoer.processError (T4CTTIoer.java:316) 05.10.24 11:11:51 в oracle.jdbc.driver.T4CTTIoer.processError (T4CTTIoer.java:282) 05.10.24 11:11:51 at oracle.jdbc.driver.T4C8Oall.receive (T4C8Oall.java:639) 10/05/24 11:11:51 в oracle.jdbc.driver.T4CStatement.doOall8 (T4CStatement.java:113) 10/05/24 11:11:51 в oracle.jdbc.driver.T4CStatement.execute_for_describe (T4CStatement.java:431) 10/05/2411:11:51 в oracle.jdbc.driver.OracleStatement.execute_maybe_describe (OracleStatement.java:1029) 05.10.24 11:11:51 в oracle.jdbc.driver.T4CStatement.execute_maybe_describe (T4CStatement.java:463) 05.10.24 11:11:51 в oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout (OracleStatement.java:1126) 05.10.24 11:11:51 в oracle.jdbc.driver.OracleStatement.executeQuery (OracleStatement.java:1274) 05.10.24 11:11:51 в oracle_jdbc_driver_T4CStatement_Proxy.executeQuery ()

Я могу правильно выполнить этот запрос по моей подсказке sql. Любое руководството, что заставляет оракула дать мне это исключение, будет оценено.

1 Ответ

0 голосов
/ 24 мая 2010

Похоже, вы объединяете определенные предложения в свой SQL. Можете ли вы попробовать поместить его в строку, а затем сделать на нем system.out. Затем возьмите вывод system.out и попробуйте запустить его точно так же, как в командной строке SQL. Бьюсь об заклад, вы быстро увидите проблему с SQL там.

Я второй oedo, я никогда не видел такого SQL раньше!

...