# JeecgBoot 数据库支持与转库说明

JeecgBoot 平台支持以下数据库，默认只提供 MySQL 脚本，其他数据库可参考 [Navicat 工具 mysql 转库 oracle 步骤](https://my.oschina.net/jeecg/blog/4905722)自行转换，其他数据库转换类似。

| 数据库 | 支持 |
|--------|------|
| MySQL | √ |
| Oracle 11g | √ |
| SQL Server 2017 | √ |
| PostgreSQL | √ |
| MariaDB | √ |
| 达梦（DM） | √ |
| 人大金仓（KingbaseES） | √ |
| TiDB | √ |
| Kingbase8 | √ |

---

## 一、Navicat 工具 MySQL 迁移 Oracle

1. 使用 Navicat 工具连接源数据库 MySQL（用户名 jeecg-m）和目标数据库 Oracle（用户名 jeecg-o）

2. 使用 Navicat 的数据传输功能将 jeecg-m 拷贝到 jeecg-o

   （1）选中源数据库，右键，点击"数据传输"

   （2）在常规选项卡上选择源数据库，并勾选数据库对象；选择目标，连接，数据库名，模式

   （3）在高级选项卡中，勾选**转换对象名为大写**，其他选项处勾选"遇到错误继续"

   （4）表选项的**外键限制要勾掉**，由于在转换过程中每个表是单独写入数据，如果保持外键限制，会导致有外键的表写入失败。外键请在迁移后手动补充。

   （5）点击开始按钮，在信息日志选项卡中会打出日志，完成后，记录下出错的表，出错的表需要后续使用其他工具迁移。

## 二、特殊表处理

定时任务的表 `qrtz_*`，通过 Navicat 转的表还是有问题，需要删除相关表，手工执行下原始初始化脚本。

quartz 初始化脚本下载：[quartz-2.2.3-distribution.tar.gz](http://pan.baidu.com/s/1WrmZdUuAPg3iBwJ-LoHWyg?pwd=8mdz)（百度网盘），找到自己需要的数据库类型脚本即可。
