mysql轉oracle的採坑記錄

2021-10-03 01:27:50 字數 1087 閱讀 6252

最近在將乙個開源的任務排程專案(xxl-job)從mysql轉為oracle,之前採用的是mybatis+mysql,現在改為mybatis+oracle的結構,在轉換的過程中遇到了很多問題。

mysql的分頁

select from xxl_job_info as t

order by id desc

limit #, #

oracle的分頁

select *  from (

select row_number() over(order by t.job_id desc) r,

from xxl_job_info t

) where r between #+1 and #+#

在mybatis中mysql資料庫是可以在sql語句後面加上分號(;)的,但是orcale的sql後面加分號(;)則會報錯(ora-00911: 無效字元—錯誤),需要把所有sql後面帶有的分號(;)去掉

在mysql中新增空值,則會預設給乙個空值,但是orcale中沒有指定jdbctype的時候,傳入空值就會報錯,需要我們指定引數的jdbctype.

select

count(handle_code) triggerdaycount,

sum(case when (trigger_code in (0, 200) and handle_code = 0) then 1 else 0 end) as triggerdaycountrunning,

sum(case when handle_code = 200 then 1 else 0 end) as triggerdaycountsuc

from xxl_job_log

where trigger_time between # and #

在**中用map接收上面sql的結果,

使用mysql : map中的key值為sql中的駝峰樣式

使用oracle:map中的key值全部轉為了大寫,如(triggerdaycount 變成了triggerdaycount)

這樣會導致我們用key從map中取值的時候取不到

Window搭建mysql採坑筆記

一 在mysql根目錄新建my.ini配置檔案 注意編碼必須為ansi mysqld 設定3306埠 port 3306 設定mysql的安裝目錄 basedir c program files mysql 8.0.16 winx64 設定mysql資料庫的資料的存放目錄 datadir c mys...

mysql安裝配置採坑

修改配置檔案 開啟解壓的資料夾 本例的配置檔案位置 d mysql mysql 5.7.17 winx64 刪除my default.ini,新建乙個my.ini my.ini的內容是 mysql 設定mysql客戶端預設字符集 default character set utf8 mysqld s...

mysql 重新安裝採坑筆記

hkey local machine system controlset001 services eventlog mysql 刪除c program files x86 mysql 這個我系統上檔案安裝目錄 cmd命令 regedt32 開啟登錄檔 上面得都清理掉,粉碎掉,然後重啟電腦系統path...