close

在大型資料庫管理系統中,ORACLE   資料庫不論在資料庫管理能力還是在安全性方面都是無可非議的。企業使用ORACLE資料庫的也較多,但是由於ORACLE不同版本的字元集,給資料顯示、資料備份、資料轉換等實際工作帶來了不少麻煩。


  一、字元集參數
  一旦資料庫創建後,資料庫的字元集是不能改變的。因此,考慮使用哪一種字元集是十分重要的。資料庫字元集應該是作業系統本地字元集的一個超集合。存取資料庫的客戶使用的字元集將決定選擇哪一個超集合,即資料庫字元集應該是所有客戶字元集的超集合。
  下面介紹一些與字元集有關的NLS_LANG參數:
  NLS_LANG格式:NLS_LANG=language_territory.charset
  有三個組成部分(語言、地域和字元集),每個組成成分控制了NLS子集的特性。三個成分可以任意組合,例如:
  AMERICAN_AMERICA.US7SCII
  JPANESE_JAPAN.JA16EUC
  其中:language 指定伺服器消息的語言。
  territory 指定伺服器的日期和數位格式。
  Charset 指定字元集
  還有一些子集可以更明確定義NLS_LANG參數: 網管網bitsCN_com
  NLS_DATE_FORMAT 缺省的日期格式
  NLS_DATE_LANGUAGE 缺省的日期語言
  NLS_NUMBERIC_CHARACTERS 小數字元和組分隔開
  NLS_CURRENCY 本地貨幣字元
  NLS_ISO_CURRENCY ISO貨幣字元
  NLS_SORT 字元排序序列


  二、字元集轉換
  1NLS_LANG參數的修改方法:
  1)用SYS用戶名登陸ORACLE
  2)查看字元集內容
  SQL>SELECT * FROM PROPS$;
  3)修改相應的字元子集
  SQL>UPDATE PROPS$ SET VALUE$=’SIMPLIFIED CHINESE ‘
  WHERE NAME=’NLS_LANGUAGE’;
  4) 遞交COMMIT;


  2NLS_LANG參數的具體應用:
  1)採用伺服器端/用戶端方式,兩端字元集不同
  修改用戶端字元集:
  WIN95/WIN98:修改註冊表
  HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG
  UNIX:按照1方法,直接進入ORACLE 修改。
  2)不同字元集使用EXP/IMP命令
  按照1方法,修改IMP端的字元集設置,如果是WIN98/WIN95系統,還必須修改註冊表。注意:NLS_LANG三個子集的參數必須一致。另外,如果字元集單雙位元組設置不同,則不能通過修改字元集進行轉換。可以使用其他方式,不修改字元集,進行ORACLE資料庫搬移,如數據量比較小,可以使用SQLLOAD命令,通過文字檔轉換;使用其他資料庫軟體(ACCESS,FOXPRO等)轉換


arrow
arrow
    創作者介紹
    創作者 史特林 的頭像
    史特林

    史特林研究室

    史特林 發表在 痞客邦 留言(0) 人氣()