熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

巧妙轉換ORACLE數據庫字符集

2013-11-13 22:13:26  來源: Oracle 

  在大型數據庫管理系統中ORACLE數據庫不論在數據庫管理能力還是在安全性方面都是無可非議的國內企業使用ORACLE數據庫的也較多但是由於ORACLE不同版本的字符集給數據顯示數據備份數據轉換等實際工作帶來了不少麻煩
  一字符集參數
  一旦數據庫創建後數據庫的字符集是不能改變的因此考慮使用哪一種字符集是十分重要的數據庫字符集應該是操作系統本地字符集的一個超集存取數據庫的客戶使用的字符集將決定選擇哪一個超集即數據庫字符集應該是所有客戶字符集的超集
  下面介紹一些與字符集有關的NLS_LANG參數
  NLS_LANG格式NLS_LANG=language_territorycharset
  有三個組成部分(語言地域和字符集)每個組成成分控制了NLS子集的特性三個成分可以任意組合例如
  AMERICAN_AMERICAUSSCII
  JPANESE_JAPANJAEUC
  其中language 指定服務器消息的語言
  territory 指定服務器的日期和數字格式
  Charset 指定字符集
  還有一些子集可以更明確定義NLS_LANG參數
  NLS_DATE_FORMAT 缺省的日期格式
  NLS_DATE_LANGUAGE 缺省的日期語言
  NLS_NUMBERIC_CHARACTERS 小數字符和組分隔開
  NLS_CURRENCY 本地貨幣字符
  NLS_ISO_CURRENCY ISO貨幣字符
  NLS_SORT 字符排序序列
  二字符集轉換
  NLS_LANG參數的修改方法
  )用SYS用戶名登陸ORACLE
  )查看字符集內容
  SQL>SELECT * FROM PROPS$;
  )修改相應的字符子集
  SQL>UPDATE PROPS$ SET VALUE$=SIMPLIFIED CHINESE
  WHERE NAME=NLS_LANGUAGE;
  ) 遞交COMMIT;
  NLS_LANG參數的具體應用
  )采用服務器端/客戶端方式兩端字符集不同
  修改客戶端字符集
  WIN/WIN修改注冊表
  HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG
  UNIX按照方法直接進入ORACLE 修改
  )不同字符集使用EXP/IMP命令
  按照方法修改IMP端的字符集設置如果是WIN/WIN系統還必須修改注冊表注意NLS_LANG三個子集的參數必須一致另外如果字符集單雙字節設置不同則不能通過修改字符集進行轉換可以使用其他方式不修改字符集進行ORACLE數據庫搬移如數據量比較小可以使用SQLLOAD命令通過文本文件轉換使用其他數據庫軟件(ACCESSFOXPRO等)轉換

From:http://tw.wingwit.com/Article/program/Oracle/201311/18532.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.