本系統前(vue)后端(java spring boot)為列子,數據庫由MySQL--->DM(達夢),中間件為中創的國產化相關軟件,如tomcat、nginx、redis等。重點講數據庫及代碼端的更改,中間件在服務端以替換的國產化軟件替換即可。
1、數據遷移:mysql-->DM
1)首先安裝DM數據庫,官網下載安裝:產品下載 | 達夢在線服務平臺
2)安裝完畢會由DM遷移工具,用這個工具實現數據庫遷移
3)后續就是下一步執行,選擇相關數據庫及表,執行無誤之后就遷移完成,返回DM管理工具(達夢數據庫客戶端)即可看到已遷移完畢,遷移過程中可能出現問題,如字段、數據沖突等,所以空表遷移問題最少,遇到具體問題根據日志修改后從新執行,我這里五六個庫幾十張表一起遷移,一次成功,時間幾秒鐘。(表不復雜,數據少,注意客戶端上有當前登錄名和端口,后續會用到)
4)DM忘記密碼怎么辦?手工修改dm.ini(安裝路徑:xxx\DM\data\DAMENG),添加參數配置?ENABLE_LOCAL_OSAUTH
?= 1,先關閉服務,修改ini后重啟就可以登錄設置密碼。后續添加的參數刪除。
?2、數據遷移完畢后更改后端配置(前端不用改造)。
1)更改pom文件配置:添加達夢驅動依賴
2)更改application.yml數據庫連接配置,有三個地方需要注意。url連接變化,與mysql的區別,以及dm驅動。
3、錯誤排查舉例,這個配置的地方嘗試依次去掉filters: stat,slf4j,wall,我的去掉wall就正常了。如出現其他問題也可根據提示慢慢排查。
Caused by: java.lang.IllegalStateException: dbType not support : dm, url jdbc:dm://127.0.0.1.......
4、改造工程,接下來配置等準備工作做完就是改造的大工程了,也就是mysql和達夢不兼容的sql語法、函數等改造,把mysql中不適配的語法、函數替換為相同作用的dm語法和函數,這里涉及的比較多我就不一一舉例了,可根據錯誤去逐一替換,最后解決所有報錯,及系統相關功能檢查,所有sql檢查后,代碼層面系統基本就基本完成,剩余服務端根據提供的國產化工具進行替換就行。后續處理這些sql遇到的問題會再發出來。
5、一些查詢的例子,可參考:
MySQL/人大金倉與達夢(DM)SQL語言的一些區別_mysql與達夢語法區別-CSDN博客?
達夢數據和mysql數據庫的區別_達夢數據庫和mysql的區別-CSDN博客