首页 > 解决方案 > 从 Spring Boot 应用程序连接到 Oracle 数据库时,如何解决“驱动程序不支持获取/设置连接的网络超时”?

问题描述

我试图连接到我的表并插入一些数据。我们正在使用 oracle 数据库。在我使用 oracle 瘦驱动程序 ojdbc14 的代码中。我得到了

2018-12-27 11:08:58.810  INFO 16548 --- [           main] com.zaxxer.hikari.pool.PoolBase          : HikariPool-1 - Driver does not support get/set network timeout for connections. (oracle.jdbc.driver.T4CConnection.getNetworkTimeout()I)
2018-12-27 11:08:58.810 ERROR 16548 --- [           main] com.zaxxer.hikari.pool.PoolBase          : HikariPool-1 - Failed to execute isValid() for connection, configure connection test query (oracle.jdbc.driver.T4CConnection.isValid(I)Z).

我对弹簧靴相当陌生,实际上是在尝试

做这个演示 - https://www.devglan.com/spring-jdbc/working-with-springboot-jdbctemplate

我所做的唯一更改是在我的 pom.xml 和 application.properties 中。

oracle还需要什么东西吗?我应该如何解决这个问题?我在网络中看到的所有 Oracle 示例都是使用休眠的。是否有必要包含休眠方法?先感谢您。


pom.xml

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <dependencies>
        <dependency>
         <groupId>com.oracle</groupId>
            <artifactId>ojdbc14</artifactId>
            <version>10.2.0.4.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!-- <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency> -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- HikariCP connection pool -->
        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <version>3.2.0</version>
        </dependency>

    </dependencies>

应用程序属性

spring.datasource.url=jdbc:oracle:thin:@//url/service
spring.datasource.username=user
spring.datasource.password=password
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver

标签: javaspringoraclespring-boothikaricp

解决方案


那是因为您使用的是非常旧的 ojdbc 版本。您应该使用最新版本的 Oracle JDBC 驱动程序连接到您的 Oracle 数据库。

从这里的快速测试:


推荐阅读