dm.jdbc.driver.DMException网络通信异常的解决过程

 更新时间:2023年02月24日 10:23:18   作者:浅浅~C  
最近一个项目里面出现了一个比较诡异的问题,给大家分享下,这篇文章主要给大家介绍了关于dm.jdbc.driver.DMException网络通信异常的解决过程,需要的朋友可以参考下

问题重述:

IDEA中项目启动不成功,达梦数据库连接不上,报网络通信异常与连接超时错误

报错:

1.dm.jdbc.driver.DMException: 网络通信异常

           2.Caused by: java.net.SocketTimeoutException: connect timed out

           3.ERROR  : create connection SQLException, url: jdbc:dm://这里是我的Url, errorCode 6001, state 08S01

数据库中的错误

 项目启动中的错误

问题背景:

今天让跑一个项目,跑不出来,一直报上述的错误,数据库网络通信异常以及连接超时。由于这个数据库是布置在对方的,连接得使用vpn,所以我单独在达梦数据库中测试数据库是否能跑通,结果可想而知,还是网络通信异常报6001.这时我又试试在dbeaver中能否跑通,结果还是跑不通,在搜索了相关博客,找到了一篇相对能解决问题的,在此感谢这位大佬登录EasyConnect后无法通过jdbc访问服务器数据库问题解决

 用了大佬的方式。dbeaver 连接远程数据库成功了。在dbeaver上跑成功了,那在项目代码中因该就不会出现这个问题了。结果我重新启动项目报一样的错误。给孩子整绝望了,最后在我导的帮助下终于解决了

尝试解决过程:

1.首先排除了由于数据等输入错误的相关信息

2.使用达梦数据库验证是否能连接成功数据库-----》连接不成功,排除项目中的错误

3.使用上述博客方法,加入代码

-Djava.net.preferIPv4Stack=true

-------------------------------------------------------------------------------------------------------------------------------

4.查看程序代码的驱动包是否不兼容以及dbeaver和达梦的驱动包兼容----》兼容

5..在项目控制端使用telnet ip 端口号---》 验证网络通信是否正常

6.使用ping 命令验证网络是否通畅

7..因为数据库网络通信异常,尝试将远程的数据库换成本地的数据库-----》换成本地数据库跑成功;

8.尝试换一个环境重新运行,结果失败-----》验证了不是环境的问题

------》综上得出是达梦数据库的问题

---------------------------------------------------------------------------------------------------------------------------------

9.查看操作系统是否兼容(自己没尝试)

10.尝试用xshell访问对面的服务器地址(这里查看了后端项目部署的环境,确定是用的所需要的部署配置yml文件),访问成功----》排除了vpn的错误

11.尝试用xshell访问连接数据库(没来的急尝试)

最终解决方法:

参考上述博客,(上述博客仅在dbeaver中配置了语句)在项目中也应该配置这种语句,具体操作如下

 配置完成后在启动成功解决上述报错

归纳原因:

在项目中,由于是通过vpn进行数据库访问的,所以会出现网络通信异常以及连接超时的问题。归结其原因是jdbc连接数据库与vpn访问之间的冲突

        为什么要在dbeaver中配置了还得在idea中配置?

                dbeaver本质是java程序,可以将其想象为虚拟机

                springboot本质也是java程序,可以将其想象为虚拟机

                添加话语:-Djava.net.preferIPv4Stack=true类似于在虚拟机上配置环境变量,保证虚拟机能正常运行

        在项目vm option中配置,这里的VM就是指虚拟机

总结与强调:

在项目vm option在选项中配置一句-Djava.net.preferIPv4Stack=true 连接后就可以了。这句话配置不仅要在数据库中配置,还要在跑项目的环境中配置

到此这篇关于dm.jdbc.driver.DMException网络通信异常的解决过程的文章就介绍到这了,更多相关dm.jdbc.driver.DMException网络通信异常内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java实现读取Excel文件功能(EasyExcel初使用)

    Java实现读取Excel文件功能(EasyExcel初使用)

    EasyExcel是一款基于Java语言的开源Excel解析工具,可以帮助我们快速、高效地读取和写入Excel文件,这篇文章主要给大家介绍了关于Java实现读取Excel文件功能的相关资料,使用的是EasyExcel,需要的朋友可以参考下
    2024-07-07
  • Java线程编程中Thread类的基础学习教程

    Java线程编程中Thread类的基础学习教程

    这篇文章主要介绍了Java线程编程中Thread类的基础学习教程,Thread类包含诸多操作线程的方法,非常重要,需要的朋友可以参考下
    2015-12-12
  • Java基础之Integer使用的注意事项及面试题

    Java基础之Integer使用的注意事项及面试题

    这篇文章主要给大家介绍了关于Java基础之Integer使用注意事项及面试题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • Java中的Timer与TimerTask原理详解

    Java中的Timer与TimerTask原理详解

    这篇文章主要介绍了Java中的Timer与TimerTask原理详解,timerTask本身没什么意义,只是和timer集合操作的一个对象,实现它就必然有对应的run方法,以被调用,他甚至于根本不需要实现Runnable,需要的朋友可以参考下
    2023-07-07
  • 基于java下载中getContentLength()一直为-1的一些思路

    基于java下载中getContentLength()一直为-1的一些思路

    下面小编就为大家带来一篇基于java下载中getContentLength()一直为-1的一些思路。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Mybatis代码生成器Mybatis Generator(MBG)实战详解

    Mybatis代码生成器Mybatis Generator(MBG)实战详解

    本文我们主要实战Mybatis官方的代码生成器:Mybatis Generator(MBG),掌握它以后,可以简化大部分手写代码,我们只需要写复杂逻辑代码,需要的朋友可以参考下
    2023-05-05
  • Java中的ArrayList容量及扩容方式

    Java中的ArrayList容量及扩容方式

    这篇文章主要介绍了Java中的ArrayList容量及扩容方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • SpringCloud Zuul自定义filter代码实例

    SpringCloud Zuul自定义filter代码实例

    这篇文章主要介绍了SpringCloud Zuul自定义filter代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 使用java + selenium + OpenCV破解网易易盾滑动验证码的示例

    使用java + selenium + OpenCV破解网易易盾滑动验证码的示例

    这篇文章主要介绍了使用java + selenium + OpenCV破解网易易盾滑动验证码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • 一文带你搞懂Java定时器Timer的使用

    一文带你搞懂Java定时器Timer的使用

    定时器类似于我们生活中的闹钟,可以设定一个时间来提醒我们。而定时器是指定一个时间去执行一个任务,让程序去代替人工准时操作。本文就来聊聊Java定时器Timer的使用,需要的可以参考一下
    2023-01-01

最新评论