PLSQL导出、导入数据 和 同步数据 以及 navicat 里同步数据 以及解决plsql导出数据乱码问题
- 1. 导出数据
- 1.1 导出.pde文件
- 1.2 导出sql文件
- 1.2.1 导出sql压缩文件
- 1.2.1 导出问题——乱码 与 解决乱码问题
- 1. 尝试解决方式1
- 2. 尝试解决方式2
- 3. 直接换PLSQ版本(最终解决问题)
- 1.3 导出dum文件
- 2. 导入数据
- 2.1 导入sql文件
- 2.2 导入pde文件
- 3. 同步数据
- 3.1 同步表结构
- 3.2 同步数据
- 3.2.1 同步步骤
- 3.2.2 同步问题
- 3.2.2.1 无主键问题
- 3.2.2.2 clob类型问题
- 4. 附:navicat 里同步数据
- 5. 推荐
1. 导出数据
1.1 导出.pde文件
- 如下:
1.2 导出sql文件
1.2.1 导出sql压缩文件
- 如下:
备注:需要注意:如果导出创建语句,记得勾选create tables
1.2.1 导出问题——乱码 与 解决乱码问题
- 问题如下:
1. 尝试解决方式1
- 问题原因:
自己电脑环境变量NLS_LANG的值和数据库字符集不一致导致的 - 解决问题:
- 查看数据库的字符集
select userenv('language') from dual;
- 查看自己电脑配置的环境变量 NLS_LANG
- 修改环境变量
- 明显二者不一致,所以直接修改
- 修改环境变量
NLS_LANG
,修改后的值设置为:
SIMPLIFIED CHINESE_CHINA.AL32UTF8
- 如下:
设置完成之后,重启启动plsql,还是乱码,往下继续
- 查看数据库的字符集
2. 尝试解决方式2
- 上网搜搜,说是如下设置,如图:
- 这样设置之后,依然未解决,但是此方法可以解决,导出查询结果乱码的问题,导出查询结果的方式如下:
3. 直接换PLSQ版本(最终解决问题)
- 上面的方式各种尝试各种改,都没有解决问题,最后,直接下载个
plsqldev1406x64.msi
替换原先的plsqldev1207x64.msi
(可以同时装两个版本),问题直接解决
备注:instantclient-basic-windows.x64-12.2.0.1.0 不用更换,可以继续使用 - 下载的文件如下:
附地址:PLSQ14下载地址. 提取码:jgck - 下载后直接傻瓜式安装:
- 安装之后,直接打卡,各种配置都不用重新配置,直接读取上个版本的配置
- 再次导出,问题解决
OK,上个版本啥问题不知道,反正这个版本解决问题了,就是完美!
1.3 导出dum文件
- 自己可以试试,个人喜欢用上面两种方法
2. 导入数据
- 上面的导出如果没啥问题,导入就更没得说了,简单的一批,简单给个步骤吧
2.1 导入sql文件
- 就拿上面导出的那个 test.sql 文件导入到其他数据库吧,如下:
- 好了,导入成功,查一下数据库
OK,完美!
2.2 导入pde文件
- 按上面介绍的导出pde文件的方式,我们再重新导出一个表结构和数据
- 查看导出的文件
- 导入pde文件
- 导入成功之后查看数据:
OK,完美导出导入!
3. 同步数据
- 如果是新库是目标库,个人更推荐上面两种方法,下面这种方法表结构和数据是分开的,不过可以学习一下,看看吧
3.1 同步表结构
- 操作步骤如下:
Tools-->Compare User Objects
- 选择要同步的表
- 选择目标库
- Compare
- 实现同步
- 查看同步的表(没有数据,同步数据看下面的步骤)
3.2 同步数据
3.2.1 同步步骤
跟上面差不多,直接截图了
如果是所有数据都是新增数据,到这里就结束了,如果有更新数据,点击√应用就可实现更新同步看效果:
好的,这样数据就完全同步过来了
3.2.2 同步问题
3.2.2.1 无主键问题
- 问题如下:
- 解决问题:加上主键即可
3.2.2.2 clob类型问题
- 问题如下:
- 解决问题:
方式选择更新数据库即可解决。
4. 附:navicat 里同步数据
- 如下
5. 推荐
- plsql12解决常见小问题(修改表名乱码等)