【问题标题】:How to handle xpath in SQL query while programming in Java用Java编程时如何处理SQL查询中的xpath
【发布时间】:2011-02-23 07:00:02
【问题描述】:

我正在尝试从我的 java 应用程序中执行 SQL 语句

由于网站对 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 命令未正确结束 10/05/24 11:11:51 在 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138) 10/05/24 11:11:51 在 oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316) 10/05/24 11:11:51 在 oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282) 10/05/24 11:11:51 在 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/24 11:11:51 在 oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:1029) 10/05/24 11:11:51 在 oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.java:463) 10/05/24 11:11:51 在 oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1126) 10/05/24 11:11:51 在 oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1274) 10/05/24 11:11:51 在 oracle_jdbc_driver_T4CStatement_Proxy.executeQuery()

我能够在我的 sql 提示符下正确运行这个查询。任何关于什么使 oracle 给我这个异常的指导将不胜感激。

【问题讨论】:

  • 我试图更好地格式化您的帖子,但您的 SQL 查询看起来像我以前从未见过的! :)
  • 是的,我可以从我的 java 代码中运行其他 SQL 命令。

标签: java sql xpath ora-00933


【解决方案1】:

看起来您正在将某些子句连接到您的 SQL。您可以尝试将其放入 String 中,然后对其执行 system.out。然后获取 system.out 的输出并尝试完全按照 SQL 命令提示符运行它。我敢打赌,您很快就会发现那里的 SQL 存在问题。

我第二个oedo,我以前从未见过这样的SQL!

【讨论】:

  • 修复了查询问题。必须将 \ 作为单引号放在 XPath 中并提取函数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-18
  • 2018-10-22
  • 2022-01-25
  • 2012-03-19
  • 2012-12-11
  • 2017-08-05
  • 1970-01-01
相关资源
最近更新 更多