如何使用spring boot连接oracle数据库

Dha*_*ath 6 java oracle driver spring-boot

我正在使用 Spring Boot 应用程序并尝试访问 Oracle 数据库。虽然构建成功,但是当我尝试在 Kubernetes 中部署时却出现以下错误。

我使用以下配置更改了application.properties文件和文件:pom.xml

应用程序.yml

 spring.datasource.url=jdbc:oracle:thin:@<IP>:1521:orcl
 spring.datasource.username=<username>
 spring.datasource.password=<password>
 spring.datasource.driver.class=oracle.jdbc.driver.OracleDriver
Run Code Online (Sandbox Code Playgroud)

POM文件

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-jdbc</artifactId>
 </dependency>
Run Code Online (Sandbox Code Playgroud)

例外

***************************
APPLICATION FAILED TO START
***************************
 Description:
 Failed to bind properties under '' to com.zaxxer.hikari.HikariDataSource:
     Property: driverclassname
    Value: oracle.jdbc.OracleDriver
    Origin: "driverClassName" from property source "source"
    Reason: Failed to load driver class oracle.jdbc.OracleDriver in either of 
            HikariConfig class loader or Thread context classloader
 Action:
 Update your application's configuration   
Run Code Online (Sandbox Code Playgroud)

smi*_*ace 8

Maven 依赖:

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc7</artifactId>
        <version>12.1.0</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

application.yml 文件:

# Oracle settings
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe
spring.datasource.username=system
spring.datasource.password=password
spring.datasource.driver.class-name=oracle.jdbc.OracleDriver
Run Code Online (Sandbox Code Playgroud)

注意driver.class-name

有时您可能需要添加spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect到 application.yml 文件(对于 Oracle 10)。


Dar*_*hta 0

您需要下载 Oracle JDBC 驱动程序 jar 文件并将其添加到类路径中,以便应用程序加载oracle.jdbc.OracleDriver类。

驱动程序可以从这里下载。

  • 我已经在 InteliJ 中尝试过了。它在IDE中成功构建它。但是当我尝试将其部署到 kubernetes 中时,它给出了错误。请帮忙 (2认同)