Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: interrupt

发布时间 2023-08-02 10:25:08作者: 信铁寒胜

执行mybatis的mapper方法时,报错了这个错。

通过网上查找,发现了是JDK版本和oracle版本不一致导致的。(我直接从JDK1.8 换成JDK11就可以了)

 

以下内容转自:Failed to obtain JDBC Connection; nested exception is java.sql.SQLException:oracle.jdbc.OracleDriver_小沈同学_的博客-CSDN博客

程序运行报错如下:

nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: oracle.jdbc.OracleDriver
### The error may exist in file [E:\xxx\xxx\xxx\xxMapper.xml]
### The error may involve com.xxx.system.mapper.xxMapper.xxx
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: oracle.jdbc.OracleDriver

  

报错原因:

Oracle驱动版本与jdk版本不一致

解决方法:

下载与本机安装的jdk版本一致的Oracle驱动。

ojdbc6.jar: 适用于jdk6;

ojdbc7.jar: 适用于jdk7;

ojdbc8.jar: 适用于jdk8;

...

ojdbc14.jar 适用于 jdk1.4 和5.0;

...

例如:

(本人所使用jdk版本为jdk8,因此重新下载Oracle驱动为ojdbc8)

1. 下载ojdbc8-12.2.0.1.jar(官网地址:12.2.0.1 - JDBC and UCP Download Page)

2. 下载之后,执行如下命令

mvn install:install-file -Dfile=D:\ojdbc8.jar -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=12.2.0.1.0 -Dpackaging=jar -DgeneratePom=true

3. 添加引用

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>12.2.0.1.0</version>
</dependency>

4. 刷新Maven项目,程序运行成功。