使用達夢自帶的資料遷移工具(dts),將mysql資料庫遷移至達夢資料庫(以下簡稱dm),遷移過程報如下錯誤:
/* 任務失敗: 建立表"bpdb"."hook_t" */
/* 物件[update_time]default約束表示式無效 */
/* 相關sql語句: */
create table "bpdb"."hook_t"
( "id" bigint identity(1,1) not null,
"domain" varchar(300) not null,
"conditions" varchar(600) not null,
"call_back_url" varchar(600) not null,
"creator" varchar(300) not null,
"create_time" timestamp(0) default current_timestamp()
not null,
"update_time" timestamp(0) default '0000-00-00 00:00:00'
not null,
"status" int not null
); /* 任務失敗: 建立表"bpdb"."bind_relationship_t" */
/* 第13 行附近出現錯誤:
物件[ex_platform_flag]default約束表示式無效 */
/* 相關sql語句: */
create table "bpdb"."bind_relationship_t"
( "id" bigint identity(40,1) not null,
"user_id" bigint not null,
"ex_platform_flag" varchar(400) default blueprint
null,
"ex_platform_name" varchar(400) default 測試平台
null,
"domain" varchar(400) not null,
"domain_name" varchar(400) not null,
"ex_user_uni_id" varchar(400) not null,
"type" varchar(80) null
);
解決方法:
dm預設不支援zerodatetime這種設定,將』0000-00-00 00:00:00』改為』1900-01-01 00:00:00』
dm建表語句不支援null可為空的語法,刪除null,預設可為空;
dm執行sql語句必須指定schema,即schema.tablename,程式jdbc訪問(比如使用mybatis,比較悲劇)無法自動設定schema,會帶來改造風險。
解決辦法:
dm中新建和應用系統對應的管理使用者,如bp對應管理使用者bpdb,dm會自動生成名為bpdb的模式,然後把資料物件(表、檢視、儲存過程等)建立到該模式下;使用bpdb登入dm,執行sql可以不帶schema。
程式中使用bpdb使用者連線dm,jdbc連線配置示例如下:
#dm
#dm資料庫驅動型別
jdbc.driver=dm.jdbc.driver.dmdriver
#dm資料庫連線位址
jdbc.url=jdbc:dm://ip:5236/bpdb
#dm資料庫使用者名稱
jdbc.username=bpdb
#dm資料庫密碼
jdbc.password=dbpwd
mysql遷移到DM資料庫時sql語句的修改
最近,在進行乙個專案的遷移工作,資料庫原來採用的mysql,現在想改為國產資料庫達夢 dm 說起mysql,很多人都不陌生,作為乙個開源的關係型資料庫,mysql有著極為廣泛的使用群體,而且,很多以前的中小型專案都是使用免費的mysql資料庫。但是,對國產資料庫dm,了解的人遠沒有mysql那麼廣泛...
mysql資料庫遷移達夢資料庫
我們安裝好達夢資料庫之後,便可以在開始 所有工具 達夢資料庫中看到它的結構 我們選擇dm資料遷移工具,然後點選進去 然後在遷移管理裡右鍵新建工程 然後輸入工程名即可,可以隨便起。點選確定 然後選中專案下的遷移,右鍵新建遷移 遷移名稱也是一樣,可以隨便起。點選確定 然後看到該頁面,點選下一步 然後選擇...
關於Oracle遷移到達夢的幾個小坑總結
1 安裝達夢資料庫的時候,可以選擇大小寫敏感,保持與oracle一致 2 oracle中的decimal型別,在達夢中建議改為number型別 3 在達夢資料庫中不支援對clob blob型別的資料進行排序,如果專案 中有對這些字段進行排序的話,會報錯 建議不要對這些長文字字段進行排序,或者改為va...