萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> 不同字符集的數據庫之間導入數據的方法

不同字符集的數據庫之間導入數據的方法

以US7ASCII的庫中導出的數據導入到字符集為ZHS16GBK的庫為例子:
   假設US7ASCII的庫是A機,字符集為ZHS16GBK的庫為B機

1.確定你A機上的oracle用戶的.profile文件中的NLS_LANG是US7ASCII,正常的導出所有數據。

2.然後傳到B機上,bin模式,然後在B機上設定好oracle用戶的設定環境變量NLS_LANG=AMERICAN_AMERICA.US7ASCII

以sys用戶執行update props$ set values$='US7ASCII'

where name='NLS_CHARACSET';

3.正常的導入數據至ZHS16GBK的數據庫中去,重新啟動數據庫,此時查看原來導入的數據應該已經中文了。

4.把環境變量改回來,NLS_LANG=AMERCIAN_AMERICA.ZHS16GBK

以sys用戶登陸ZHS16GBK的數據庫然後執行一下語句:

update props$ set values$='ZHS16GBK'

where name='NLS_CHARACSET';

重新啟動數據庫讓其修改生效即可。

如果不放心,可以把當前ZHS16GBK數據庫中的數據正常exp出來,然後重新建庫後正常導入。

以上過程我在oracle9.2.0和9.0.1,8.1.7上測試成功。

copyright © 萬盛學電腦網 all rights reserved