萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> 在不同字符集的數據庫之間導入數據的方法

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

  以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