前言:解决Navicat连接Oracle数据库报错Cannot load OCI DLL
问题,让Navicat成功连接Oracle数据库,将Oracle数据库导入到Mysql中。
一.下载和激活Navicat
Navicat Premium 版本 12 | 下载地址 |
---|---|
32位 | 点击下载 |
64位 | 点击下载 |
激活文件 | 点击下载,密码: 3dhp |
二.查看Oracle版本
需要根据Oracle的版本和位数,确定下载OCI接口文件,否则将不会生效(关键)!
在Sqllite或者PlSQL中执行Select * from v$version
查看版本信息
三.下载Navicat支持Oracle的接口文件
根据上一步的中查出Oracle的版本,下载相同或近似的版本即可,若不生效,多下载几个近似版本试试。
OCI文件 | 下载地址 |
---|---|
32位: | 点击下载 |
win64位 | 点击下载 |
四.配置Navicat的OCI环境
打开 工具->选项->环境:
在SQL*Plus中,选中Oracle安装目录BIN\sqlplus.exe
在OCI环境中,选中上一步下载的文件中oci.dll
文件
保存,重启Navicat才会生效!
五.测试Navicat连接Oracle数据库
六.导出Oracle数据库到Mysql
选择工具->数据传输:
提前创建一个Mysql数据库,然后选择源为Oracle数据库,目标为Mysql数据库:
选中需要导出的表,然后点击开始:
导出成功:
注: Mysql和Oracle数据库中,日期类型不同,oracle中的date对应MysQL的DATETIME,若出现问题,在数据库中将字段类型修改下再导入。
改动的地方
1.数据库切换后表明改成小写;
2. pom增加mysql依赖;
3. 对应的po里的类加上ID自增;
4. 两个映射文件的的SQL语法修改,查询rownum、to_timestamp等替换成对应的写法。
5. 新增表修改id 为主键自增 :alter table `tp_para_info` change id id int not null auto_increment primary key;
6. 新增sql里删除id,默认自增;alter table `tp_idx_atom_info` change id id int not null auto_increment primary key;