Spring boot 连接 远程Oracle数据库,IO 错误: The Network Adapter could not establish the connection

该文章已生成可运行项目,

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

最近在使用 Spring Boot开发,需要连接远程 Oracle,但是在启动Spring项目的时候,总是报如下错误:

java.sql.SQLRecoverableException: IO 错误: The Network Adapter could not establish the connection

首先确认 我的Oralce数据库 IP、端口、用户名和密码都是正确的,而且使用 sqlplus是可以正常连接的,就是运行项目总是出错。

然后就在网上搜索了一通,也试了网上的很多方法,还是不行。

不过还是受到网络上的一些启发,可能的原因是 因为 JVM 在处理网络连接时选择了 IPv6 而不是 IPv4。你可以通过设置 JVM 参数 -Djava.net.preferIPv4Stack=true 来强制 JVM 使用 IPv4。最后通过如下方法终于搞定。

IntelliJ IDEA
打开 Run -> Edit Configurations。
选择你的 Spring Boot 应用程序配置。
在 VM options 字段中添加 -Djava.net.preferIPv4Stack=true。
应用并启动应用程序。

如果 Run/Debug Configurations 配置页面没有 VM Options配置项,可以点击 Modify options添加该项。(注:VM Options 配置项的配置可能会因 IDEA版本不同而有所不同。)

本文章已经生成可运行项目

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值