MySQL適配達夢資料庫注意事項

2021-10-07 05:52:43 字數 1927 閱讀 2694

現象描述:使用 低版本的驅動,在sql語句上的寫法可能會不同,例如查詢時要加上模式名等

解決方法:使用下面這個版本驅動,sql語句大部分和mysql一樣

com.dm

jdbc

1.8

現象描述:程式中用到了hibernate,需要在配置檔案裡手動指定hibernate方言的驅動,否則啟動會報錯

解決方法:配置檔案中的配置

spring. jpa.properties.hibernate=dialect: org.hibernate.dialect.dmdialect
com.dameng

dmdialect-for-hibernate5.3

8.1.0.157

現象描述:使用達夢資料庫欄位的遷移工具,從mysql遷移資料庫到達夢裡時,如果mysql裡表的時間字段設定了預設值,使用的是current_timestamp函式,在達夢8裡遷移會報錯,達夢7可正常遷移

解決方法:先將mysql中的表的預設值去掉,把錶結構導過去之後,再在達夢中執行語句alter table 表名 modify 欄位名 default sysdate

現象描述:在mysql裡新增資料,需要返回剛新增資料的自增主鍵值,在mybatis裡按如下寫法

select last_insert_id()

達夢資料庫不支援上述寫法

解決方法:在達夢資料庫中建立序列

create sequence config_id_seq increment by 1 start with 1
將mybatis裡的寫法換成

select  config_id_seq.nextval as id from dual

現象描述:mysql裡的表字段,取的名字正好是達夢資料的關鍵字,那麼在達夢資料庫裡使用時,會報錯,例如comment是達夢資料庫的關鍵字,mysql裡有表的字段取了comment,在mybatis裡執行包含comment的查詢,新增等語句時會報錯,下面這個語句就會報錯,因為包含comment

insert into etl_whole_db_migrate (task_id, task_name, src_ds_id,

tgt_ds_id, task_type, task_cron,comment)

values (#,

#,#,

#, #,

#,#)

現象描述:mybatis裡"%"#"%"這種寫法達夢資料庫會報錯

解決方法:使用函式concat(』%』,#,』%』),雙引號變成單引號

現象描述:達夢資料庫表,資料的操作基本上只能通過寫sql語句的方式

實現,沒有mysql那樣強大的客戶端

解決方法:根據官方文件寫sql語句

達夢資料庫和mysql索引引擎 達夢資料庫 索引

1.索引的種類和功能 聚集索引 每乙個普通表有且只有乙個聚集索引 唯一索引 索引資料根據索引鍵唯一 函式索引 包含函式 表示式的預先計算的值 位圖索引 對低基數的列建立位圖索引 位圖連線索引 針對兩個或者多個表連線的點陣圖索引,主要用於資料倉儲中 全文索引 在表的文字列上而建的索引。2.何時使用索引...

mysql資料庫遷移達夢資料庫

我們安裝好達夢資料庫之後,便可以在開始 所有工具 達夢資料庫中看到它的結構 我們選擇dm資料遷移工具,然後點選進去 然後在遷移管理裡右鍵新建工程 然後輸入工程名即可,可以隨便起。點選確定 然後選中專案下的遷移,右鍵新建遷移 遷移名稱也是一樣,可以隨便起。點選確定 然後看到該頁面,點選下一步 然後選擇...

達夢資料庫操作

1.安裝 dminstall.bin i接下來是一些設定,比如 語言 key檔案的位置 時區 安裝型別 安裝目錄 略過 2.初始化 進入你剛才設定的安裝目錄的bin目錄下執行 dminit這是我自己的設定 input system dir home dmdba dmdata input db nam...