Oracle字符集不匹配导入dmp文件报错
在做文件迁移的时候在本地导出了一份dmp的备份文件,结果导入服务器的数据库的时候报错
这个时候我们可以执行以下sql查看一下服务器的数据库字符集是什么
select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';
这个时候可以看到是AL32UTF8,但是我本地的字符集是ZHS16GBK,那就需要在执行exp导出前先修改一下我电脑的字符集,打开cmd输入
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8
这样就可以把我本机的字符集设置为跟客户端一样的了,然后再去执行导出,导出的dmp文件就可以导入到服务器了,
导出时可能会有乱码,我这边测试导入时是不会有乱码的,所以导出的乱码应该不影响。
导出完成后记得把字符集再设置回原来的
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
然后就完成了,具体的需要根据实际的编码修改!!