连接数据库报错:The Network Adapter could not establish the connection 或者 Communication failure

十分感谢https://blog.csdn.net/makang110/article/details/81185270的作者。

链接的作者说原因在于eclipse有时在联网时会将ipv4转换为ipv6使用导致出错(我暂未考证)

笔者手中的项目在运行中需要与数据库建立很多次链接,总是在运行到某个时候出现The Network Adapter could not establish the connection或者Communication failure这样的错误,起初以为超出了数据库的连接数限制,检查结果证明并不是。之后一度以为是代码有问题,于是各种调试发现确实存在建立了链接不释放的问题,改完代码再运行,问题依然存在(误打误撞却优化了一下代码)。

百度一番,大家给出的解决办法有很多是关于修改数据库或者防火墙配置的,但是跟我的情况并不一样。实在是没有办法,就在虚拟机里装个linux系统换个环境试试(之前是win10),发现这样的错误居然不出现了。想起来在linux下用的是IDEA运行的,于是也去win下用IDEA运行试试,此错误出现的概率大大减小,运行几回只出现一次。

就在我准备重装系统之前,尝试了https://blog.csdn.net/makang110/article/details/81185270的办法,只动了一个参数(看来不是操作系统原因)。

打开菜单windows–>preferences,在引用java时,添加参数-Djava.net.preferIPv4Stack=true 即可解决问题。

 因为这个错误在Eclipse和IDEA都出现过,所以应该不是某个IDE的问题,而且从字面意思看VM arguments,应该是“虚拟机参数”,也就是说是给虚拟机设定了一个特殊的值,有懂的小伙伴可以评论留言。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值