在大型資料庫管理系統中,oracle資料庫不論在資料庫管理能力還是在安全性方面都是無可非議的。國內企業使用oracle資料庫的也較多,但是由於oracle不同版本的字符集,給資料顯示、資料備份、資料轉換等實際工作帶來了不少麻煩。
一、字符集引數
一旦資料庫建立後,資料庫的字符集是不能改變的。因此,考慮使用哪一種字符集是十分重要的。資料庫字符集應該是作業系統本地字符集的乙個超
在大型資料庫管理系統中,oracle資料庫不論在資料庫管理能力還是在安全性方面都是無可非議的。國內企業使用oracle資料庫的也較多,但是由於oracle不同版本的字符集,給資料顯示、資料備份、資料轉換等實際工作帶來了不少麻煩。
一、字符集引數
一旦資料庫建立後,資料庫的字符集是不能改變的。因此,考慮使用哪一種字符集是十分重要的。資料庫字符集應該是作業系統本地字符集的乙個超集。訪問資料庫的客戶使用的字符集將決定選擇哪乙個超集,即資料庫字符集應該是所有客戶字符集的超集。
下面介紹一些與字符集有關的nls_lang引數:
nls_lang格式:nls_lang=language_territory.charset
有三個組成部分(語言、地域和字符集),每個組成成分控制了nls子集的特性。三個成分可以任意組合,例如:
american_america.us7scii
jpanese_japan.ja16euc
其中:language 指定伺服器訊息的語言。
territory 指定伺服器的日期和數字格式。
charset 指定字符集
還有一些子集可以更明確定義nls_lang引數:
nls_date_format 預設的日期格式
nls_date_language 預設的日期語言
nls_numberic_characters 小數字元和組分隔開
nls_currency 本地貨幣字元
nls_iso_currency iso貨幣字元
nls_sort 字元排序序列
二、字符集轉換
1、nls_lang引數的修改方法:
1)用sys使用者名稱登陸oracle。
2)檢視字符集內容
sql>select * from props$;
3)修改相應的字元子集
sql>update props$ set value$=』simplified chinese 『
where name=』nls_language』;
4) 遞交commit;
2、nls_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等)轉換。
oracle 修改字符集
通過 sql select from nls database parameters 來檢查字符集引數 設定 sql shutdown immediate sql startup mount sql alter system enable restricted session sql alter s...
oracle修改字符集
檢視oracle服務端編碼 select from sys.nls database parameters 檢視client編碼 select from sys.nls session parameters 修改客戶端編碼 翻開運轉器進入登錄檔編輯 運轉 regedit 找到hkey local m...
Oracle修改字符集
1 修改server端字符集 不建議使用 在oracle 8之前,可以用直接修改資料字典表props 來改變資料庫的字符集。但oracle8之後,至少有三張系統表記錄了資料庫字符集的資訊,只改props 表並不完全,可能引起嚴重的後果。正確的修改方法如下 run cmd sqlplus nolog ...