dm.jdbc.driver.DMException網(wǎng)絡(luò)通信異常的解決過程
問題重述:
IDEA中項目啟動不成功,達夢數(shù)據(jù)庫連接不上,報網(wǎng)絡(luò)通信異常與連接超時錯誤
報錯:
1.dm.jdbc.driver.DMException: 網(wǎng)絡(luò)通信異常
2.Caused by: java.net.SocketTimeoutException: connect timed out
3.ERROR : create connection SQLException, url: jdbc:dm://這里是我的Url, errorCode 6001, state 08S01
數(shù)據(jù)庫中的錯誤

項目啟動中的錯誤

問題背景:
今天讓跑一個項目,跑不出來,一直報上述的錯誤,數(shù)據(jù)庫網(wǎng)絡(luò)通信異常以及連接超時。由于這個數(shù)據(jù)庫是布置在對方的,連接得使用vpn,所以我單獨在達夢數(shù)據(jù)庫中測試數(shù)據(jù)庫是否能跑通,結(jié)果可想而知,還是網(wǎng)絡(luò)通信異常報6001.這時我又試試在dbeaver中能否跑通,結(jié)果還是跑不通,在搜索了相關(guān)博客,找到了一篇相對能解決問題的,在此感謝這位大佬登錄EasyConnect后無法通過jdbc訪問服務(wù)器數(shù)據(jù)庫問題解決
用了大佬的方式。dbeaver 連接遠程數(shù)據(jù)庫成功了。在dbeaver上跑成功了,那在項目代碼中因該就不會出現(xiàn)這個問題了。結(jié)果我重新啟動項目報一樣的錯誤。給孩子整絕望了,最后在我導的幫助下終于解決了
嘗試解決過程:
1.首先排除了由于數(shù)據(jù)等輸入錯誤的相關(guān)信息
2.使用達夢數(shù)據(jù)庫驗證是否能連接成功數(shù)據(jù)庫-----》連接不成功,排除項目中的錯誤
3.使用上述博客方法,加入代碼
-Djava.net.preferIPv4Stack=true
-------------------------------------------------------------------------------------------------------------------------------
4.查看程序代碼的驅(qū)動包是否不兼容以及dbeaver和達夢的驅(qū)動包兼容----》兼容
5..在項目控制端使用telnet ip 端口號---》 驗證網(wǎng)絡(luò)通信是否正常
6.使用ping 命令驗證網(wǎng)絡(luò)是否通暢
7..因為數(shù)據(jù)庫網(wǎng)絡(luò)通信異常,嘗試將遠程的數(shù)據(jù)庫換成本地的數(shù)據(jù)庫-----》換成本地數(shù)據(jù)庫跑成功;
8.嘗試換一個環(huán)境重新運行,結(jié)果失敗-----》驗證了不是環(huán)境的問題
------》綜上得出是達夢數(shù)據(jù)庫的問題
---------------------------------------------------------------------------------------------------------------------------------
9.查看操作系統(tǒng)是否兼容(自己沒嘗試)
10.嘗試用xshell訪問對面的服務(wù)器地址(這里查看了后端項目部署的環(huán)境,確定是用的所需要的部署配置yml文件),訪問成功----》排除了vpn的錯誤
11.嘗試用xshell訪問連接數(shù)據(jù)庫(沒來的急嘗試)
最終解決方法:
參考上述博客,(上述博客僅在dbeaver中配置了語句)在項目中也應(yīng)該配置這種語句,具體操作如下

配置完成后在啟動成功解決上述報錯
歸納原因:
在項目中,由于是通過vpn進行數(shù)據(jù)庫訪問的,所以會出現(xiàn)網(wǎng)絡(luò)通信異常以及連接超時的問題。歸結(jié)其原因是jdbc連接數(shù)據(jù)庫與vpn訪問之間的沖突
為什么要在dbeaver中配置了還得在idea中配置?
dbeaver本質(zhì)是java程序,可以將其想象為虛擬機
springboot本質(zhì)也是java程序,可以將其想象為虛擬機
添加話語:-Djava.net.preferIPv4Stack=true類似于在虛擬機上配置環(huán)境變量,保證虛擬機能正常運行
在項目vm option中配置,這里的VM就是指虛擬機
總結(jié)與強調(diào):
在項目vm option在選項中配置一句-Djava.net.preferIPv4Stack=true 連接后就可以了。這句話配置不僅要在數(shù)據(jù)庫中配置,還要在跑項目的環(huán)境中配置
到此這篇關(guān)于dm.jdbc.driver.DMException網(wǎng)絡(luò)通信異常的解決過程的文章就介紹到這了,更多相關(guān)dm.jdbc.driver.DMException網(wǎng)絡(luò)通信異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實現(xiàn)讀取Excel文件功能(EasyExcel初使用)
EasyExcel是一款基于Java語言的開源Excel解析工具,可以幫助我們快速、高效地讀取和寫入Excel文件,這篇文章主要給大家介紹了關(guān)于Java實現(xiàn)讀取Excel文件功能的相關(guān)資料,使用的是EasyExcel,需要的朋友可以參考下2024-07-07
Java基礎(chǔ)之Integer使用的注意事項及面試題
這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)之Integer使用注意事項及面試題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-12-12
基于java下載中g(shù)etContentLength()一直為-1的一些思路
下面小編就為大家?guī)硪黄趈ava下載中g(shù)etContentLength()一直為-1的一些思路。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
Mybatis代碼生成器Mybatis Generator(MBG)實戰(zhàn)詳解
本文我們主要實戰(zhàn)Mybatis官方的代碼生成器:Mybatis Generator(MBG),掌握它以后,可以簡化大部分手寫代碼,我們只需要寫復雜邏輯代碼,需要的朋友可以參考下2023-05-05
使用java + selenium + OpenCV破解網(wǎng)易易盾滑動驗證碼的示例
這篇文章主要介紹了使用java + selenium + OpenCV破解網(wǎng)易易盾滑動驗證碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02

