【发布时间】:2020-04-17 14:39:04
【问题描述】:
我有一个奇怪的问题。当我将连接从 MySQL 更改为 Oracle (19c) 时,我无法运行我的 spring 应用程序。
当我使用 MySQL 时,一切都很好。我的应用程序非常简单,它什么都不做,它是用于测试连接的示例空项目。
这是我的application.properties (MySQL):
spring.datasource.url=jdbc:mysql://localhost:3306/fckOracle
spring.datasource.username = root
spring.datasource.password = student
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
和 pom.xml (MySQL) 的一部分,
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
这是我的 application.properties (Oracle 19c)
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:orcl
spring.datasource.username=ALBERT
spring.datasource.password=student
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
和 pom.xml (Oracle 19c) 的一部分
<dependency>
<groupId>com.oracle.ojdbc</groupId>
<artifactId>ojdbc8</artifactId>
</dependency>
好的,当我尝试使用 oracle 连接运行我的应用程序时,编译器无法加载方言。程序被冻结并且 localhost:8080 不起作用,这是我的控制台:
我尝试了很多方言Oracle12cDialect、Oracle10gDialect...,结果总是一样,只有一个例外!当我把方言改成这样时:
spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect
我的应用程序启动,但出现错误:
java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
localhost8080 正在工作,但我无法对我的 oracle 数据库进行任何操作。
有人知道如何修复这个 oracle 配置吗?
【问题讨论】:
-
你试过了吗? *.com/questions/57715024/…
-
嗯,是的,我看到了,但我不完全理解问题所在。 hibernate 是否遇到了方言 12c 的错误?在那篇文章中,那个家伙说,“它已经在较新的 5.4 版本中解决了” 我的休眠版本是 5.4.9.Final。那我觉得这个问题不关我的事吧?
-
您是否尝试将您的方言设置为
hibernate.dialect = org.hibernate.dialect.Oracle12cDialect并删除与其他数据库方言相关的任何其他属性。 -
你试过
<dependency> <groupId>com.oracle.ojdbc</groupId> <artifactId>ojdbc10</artifactId> <version>19.3.0.0</version> </dependency> -
Santossh Kumhar,我做到了:/ RamPrakash,我试过这个,我得到那个错误:textuploader.com/1oycz
标签: java mysql spring oracle spring-boot