当前位置: 首页 > 知识库问答 >
问题:

在Oracle 11g中,使用ORA-00933生成“FETCH first?rows ONLY”的SQL失败

闾丘京
2023-03-14

在Spring Boot2.0项目中,我有一个带有查询方法的JpaRepository对象。一个查询方法返回分页ResultSet。

Page<Model> findByPartContainingIgnoreCaseAndModelContainingIgnoreCaseAndNeedsUpdateContainingIgnoreCase(String part, String model, String needsUpdate, Pageable pageReguest);
select * from (SQL)  where rownum <= 100
select SQL **fetch first 100 rows only**

为什么相同的代码库为不同的Oracle数据库生成不同的SQL?我们怎么才能解决这个问题?

该项目使用ojdbc6(version-11.2.0.4)Oracle驱动程序。

共有1个答案

孟高峰
2023-03-14

问题是因为方言。我一开始使用的是一种较老的方言--“org.hibernate.dialt.oracle9iDeociation”

通过在application.properties中设置以下方言,问题得到了解决。

spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
 类似资料:
  • 我试图从MySQL移动到Oracle和我的一个查询最初看起来像这样 然而,当我在ORACLE中运行同一个查询时,只做了一个小改动。。。 它给了我以下错误: SQL错误:ORA-00933:SQL命令未正确结束00933。00000-“SQL命令未正确结束” Oracle SQL Developer工具强调了声明部分的一个问题 作为t1 我读了一些其他的问题,提到在Oracle语句的某些部分周围放置

  • 我正在尝试创建一个where子句作为参数传递给Oracle命令,事实证明这比我想象的要困难得多。我想做的是根据应用程序中的用户输入创建一个大型where查询。其中query是语句的单个参数,并且将包含多个and、OR条件。但这里的代码并不完全符合我的要求: 如果我将下面的行更改为我想要的结果类型,那么我会得到一个错误"ORA-00933:SQL命令未正确结束": 我的问题是,如何在不导致此错误的情

  • 我是新的甲骨文,我已经安装了甲骨文10g与sql加。我昨天使用sql plus,但现在它给我这个错误ORA-12170: TNS:连接超时发生在登录时。我使用SCOTT用户登录。 我正在使用这些凭据登录: 用户名:斯科特 密码:tiger 主持人:奥克尔 我已经在谷歌上搜索过了,并尝试了一些解决方案,但它不起作用:( 以下是有关我的配置的一些详细信息: sqlnet.ora listener.or

  • 线程“main”java.SQL.sqlsyntaxerrorexception:ORA-00933:SQL命令未正确结束 我怀疑我们不能为Oracle查询提供“as employees_data”,那么我做错了什么?

  • 目的是仅当同一个表中不存在相同的记录时,才将记录插入表中。所以,我将该表的值存储在如下游标中:- 现在,我将使用如下的内部联接从表中删除记录- 执行此删除语句时,我收到错误-'ORA-00933:SQL命令未正确结束' 如果我能够从表中删除记录,我将使用以下代码从游标数据中插入相同的记录到相同的表中:- 我的目标是,仅当同一个表中不存在相同的记录时,才将记录插入表中。 请指导如何处理delete语

  • 我是Hibernate新手,所以我对此一无所知。Hibernate会生成SQL查询并在数据库上触发。 我能够从控制台检索查询,但我也希望在触发查询之前对其进行修改。 因此,如果查询为: