接到了一个需求,把正式数据库的A表(2.9万+)数据,导到测试数据库的A表中。
数据量小,可以用“+”这种方式
数据量大只能用dmp、sql文件、DBlink
由于两个数据库的表空间不一样,dmp的方式先放弃。
采用导出sql文件的形式,导出来后查看文件竟然中文乱码。
导入数据库后也还是乱码状态。于是去网上查找到了解决办法。
1、首先产生问题的原因是,自己电脑环境变量NLS_LANG的值和数据库字符集不一致就造成了导入之后数据是乱码的问题。
2、解决办法就是将自己电脑的环境变量NLS_LANG的值改成和数据库字符集一样的编码。
3、具体操作步骤:
(一):命令窗口查看本地环境变量
echo %NLS_LANG%;(我本机没有设这个变量,这个没有找到)
(二):查看数据库字符集
select userenv('language') from dual;
(三):增加或修改环境变量NLS_LANG的值(和数据库保持一致)
重新导出sql文件乱码已解决。