【PL/SQL导入dmp文件乱码】

解决PL/SQL导入乱码问题

导入dmp文件乱码有两种情况
1.注释和初始化数据都乱码,跟字符集有关 可先新增环境变量试一下
2.注释乱码,但是初始化数据不乱码
3.如果导出dmp文件与本地字符集不符,需要更改下文中也会写道


最重要的一点导出dmp文件的字符集要和本地导入的字符集一致 才不会将导入数据变成乱码

1. 注释和初始化数据都乱码

  1. 查询oracle server端的字符集
select userenv('language') from dual;

得到字符集
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
本地服务端的字符是gbk

  1. 查看任务注册表的字符集是否一致 用 win + r 输入regedit

    查看
    计算机\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDB19Home1
    中 NLS_LANG 的value值是多少
    在这里插入图片描述
  2. 新增环境变量
    在这里插入图片描述
    新增环境变量后别忘了点击确定

2.注释乱码、初始化数据不乱码

这种情况。。。。。
咳咳咳
。。。。。没救了
导出用户重新给一份dmp文件,也会出现这种情况
原因是因为 当时建表导入的时候没指定nls_lang是乱的
导入用户在怎么改…字符集…注册表…环境变量都没有用
只能导出用户重新导出.sql文件,导入用户在重新导入就ok了

3.更改字符集

先win + r 然后敲击cmd
在这里插入图片描述

  1. 第一步 sqlplus /nolog 先连接数据库
    接下来依次敲击命令 有些命令会费时间运行
sqlplus /nolog 
SQL> connect sys/oracle as sysdba
SQL> startup
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter system enable restricted session;
SQL> alter system set job_queue_processes=0;
SQL> alter database open;
SQL> alter database character set internal_use AL32UTF8;
SQL> shutdown immediate;
SQL> startup

第一步 先连接数据库
在这里插入图片描述
第二步 startup 如果Oracle是运行可以不敲
在这里插入图片描述
第三步
在这里插入图片描述

第四步
在这里插入图片描述
第五步 startup 重启

这样就完成对Oracle字符集的更改

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值