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的值和数据库字符集不一致导致的
  • 解决问题:
    1. 查看数据库的字符集
      select userenv('language') from dual;

    2. 查看自己电脑配置的环境变量 NLS_LANG
    3. 修改环境变量
      • 明显二者不一致,所以直接修改
      • 修改环境变量 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 同步表结构

  • 操作步骤如下:
    1. Tools-->Compare User Objects
    2. 选择要同步的表
    3. 选择目标库
    4. Compare
    5. 实现同步

    6. 查看同步的表(没有数据,同步数据看下面的步骤)

3.2 同步数据

3.2.1 同步步骤

  • 跟上面差不多,直接截图了


    如果是所有数据都是新增数据,到这里就结束了,如果有更新数据,点击√应用就可实现更新同步

  • 看效果:

    好的,这样数据就完全同步过来了

3.2.2 同步问题

3.2.2.1 无主键问题

  • 问题如下:
  • 解决问题:加上主键即可

3.2.2.2 clob类型问题

  • 问题如下:

  • 解决问题:
    方式选择更新数据库即可解决。

4. 附:navicat 里同步数据

  • 如下

5. 推荐

  • plsql12解决常见小问题(修改表名乱码等)