在不同字符集的資料庫之間匯入資料的方法(轉)

gugu99發表於2007-08-13
在不同字符集的資料庫之間匯入資料的方法(轉)[@more@]

  以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上測試成功。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-954196/,如需轉載,請註明出處,否則將追究法律責任。

相關文章