您好,登錄后才能下訂單哦!
本篇內容主要講解“JDBC連接報錯怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JDBC連接報錯怎么解決”吧!
解決思路:
1)是不是數據庫本身有問題,客戶端登錄沒問題。
2)排查是不是war包問題,本地連接數據庫,沒問題。
3)是不是啟動參數有問題?因為多數據源的關系,在啟動參數里配置了數據源跟驅動名
--spring.datasource.url=jdbc:dm://172.31.98.190:5236/DMSERVER \
--spring.datasource.driverClassName=dm.jdbc.driver.DmDriver \
檢查了下,沒任何問題。
4)是不是有特殊字符?
用vi -b start.sh查看了啟動腳本,并未發現^M這樣的特殊字符。
5)去除啟動參數,將啟動參數寫死放到application.properties中,重新打包,上傳上去,./start.sh,啟動竟然不報錯了。
6)回頭再檢查這兩行參數,將參數逐行刪除,再手動打上去,定位到參數行
--spring.datasource.driverClassName=dm.jdbc.driver.DmDriver \
將DmDriver 后的空格刪除,再重新手動打個空格,:wq保存,重啟啟動,成功。
7)為什么?中午吃飯去了,下午回來再看。路上懷疑是隱藏字符。
8)下午回來,按照隱藏字符的思路去百度了下,看還有什么方法可以查看linux上的隱藏字符。找到了個命令,cat -A。
cat -A start.sh
發現信息如下
--spring.datasource.url=jdbc:dm://172.31.98.190:5236/DMSERVERM-BM- \$
--spring.datasource.driverClassName=dm.jdbc.driver.DmDriverM-BM- \$
多了M-BM-這串特殊字符,真相大白。
9)M-BM-是什么特殊字符?哪位大神能告訴我下?我關鍵字只搜索到了BM算法,這是一個查找替換算法,另外還搜到了個帖子,說放在oneNote里再貼出來也出現這個問題。所以猜測是運維人員在windows上批量替換數據庫參數導致。
到此,相信大家對“JDBC連接報錯怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。