相同的连接字符串在 sqldeveloper 中工作正常,但是从独立的 JDBC 程序抛出 IO 异常

问题描述

使用的连接字符串: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=Tcps)(HOST=hostName)(PORT=1546))(CONNECT_DATA=(SERVICE_NAME=serviceName)))

sqldeveloper 成功连接到数据库。使用 java 独立应用程序失败,并显示以下错误

sqlException >>>>>>,e
java.sql.sqlRecoverableException: IO Error: Connection reset
[Ljava.lang.StackTraceElement;@76be458c
IO Error: Connection reset
IO Error: Connection reset
javax.net.ssl.SSLException: Connection reset

使用的 ojdbc 版本

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.3</version>
</dependency>

解决方法

问题已通过将 ojdbc 升级到最新版本解决

    <dependency>
        <groupId>com.oracle.jdbc</groupId>
        <artifactId>ojdbc8</artifactId>
        <version>12.2.0.1</version>
    </dependency>