前言
这个报错相信各位后端开发都不陌生,大体的原因就那么几种:
-
检查网络连接:确保您的计算机与数据库服务器之间的网络连接正常。尝试通过其他方式验证您的网络连接是否正常。
-
检查数据库服务器状态:确保数据库服务器正在运行,并且服务正常。您可以尝试通过其他客户端工具连接到数据库服务器,以确认服务器是否正常响应。
-
检查连接字符串和端口:确保您在Java代码中使用的连接字符串正确,并且指定了正确的数据库端口。请检查连接字符串中的主机名、端口号、数据库名称等参数是否正确。
-
检查防火墙设置:防火墙可能会阻止Java应用程序与数据库服务器之间的连接。请确认防火墙设置允许您的Java应用程序与数据库服务器进行通信。
-
检查数据库配置:确保数据库服务器的配置允许远程连接。有时,默认配置可能不允许远程连接。您可以参考Oracle文档或与数据库管理员联系,了解如何配置数据库允许远程连接。
当一切都排查完毕后发现还是这样,甚至相同的配置另一台设备就可以正常启动访问,这时候感觉进入了玄学,开始怀疑自己是不是人品不行~
笔者所在场景恰好调整过网络,怀疑是发起请求时IPv4和IPv6未锁定,于是使用下述启动参数尝试后问题解决。
解决
1、Tomcat
通过tomcat的start.bat进行启动的,那么你需要找到bin目录下的catalina.bat文件,在其中搜索“set JAVA_OPTS ”,
将其加入以下内容写道
set JAVA_OPTS=%JAVA_OPTS% -Djava.net.preferIPv4Stack=true %LOGGING_MANAGER%
在%后加入 Djava.net.preferIPv4Stack=true ”。