在不同字符集的數據庫之間導入數據的方法
在不同字符集的數據庫之間導入數據簡便數據庫的操作,當然在不同字符集的數據庫之間導入數據也是很多數據庫操作工作者非常青睞的一種操作方法,下文中將為大家講解在不同字符集的數據庫之間導入數據的方法。以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上測試成功。
通過上文中講解的這些步驟就能夠實現在不同字符集的數據庫之間導入數據,希望大家都能夠從上文中涉及到的內容中有所收獲。