微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 get 查询获取数据的 SQLSyntaxErrorException ORA-00933

如何解决使用 get 查询获取数据的 SQLSyntaxErrorException ORA-00933

private static final String  GET_OBJECT_WITH_PREFIX =
    " SELECT OBJECT_KEY,OBJECT_VALUE,LAST_UPDATE_DATE from TEST_TABLE "
        + " where OBJECT_KEY like ? "
        + " order by LAST_UPDATE_DATE DESC "
        + " offset ? rows fetch next ? rows only ";

  prefix = prefix + "%";
  pst = conn.prepareStatement(GET_OBJECT_WITH_PREFIX);
  pst.setString(1,prefix);
  pst.setInt(2,offset);
  pst.setInt(3,fetchSize);
  System.out.println("prepared statement: "+pst.toString());
  rs = pst.executeQuery();

上面的代码片段抛出下面的异常

引起:java.sql.sqlSyntaxErrorException:ORA-00933:sql命令 没有正确结束 [exec] 在 oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462) [exec] 在 oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405) [exec] 在 oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:931) [exec] 在 oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481) [exec] 在 oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205) [exec] 在 oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:548) [exec] 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [exec] 在 oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217) [exec] 在 java.lang.Thread.run(Thread.java:745) [exec] 在 oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:947) [exec] 在 oracle.jdbc.driver.OracleStatement.executeMaybedescribe(OracleStatement.java:1283) [exec] 在 oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1441) [exec] 在 oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3769) [exec] 在 oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3823) [exec] 在 oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1671) [exec] 在 weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:135)

不确定哪里出错了我试图将准备好的语句打印为查询以了解问题,但它没有在 systemout 中打印。有人可以帮助解决这个问题。

提前致谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。