回覆列表
  • 1 # HHf123

    oracle伺服器和客戶端字符集的檢視和修改

    一、什麼是oracle字符集

    Oracle字符集是一個位元組資料的解釋的符號集合,有大小之分,有相互的包容關係。ORACLE 支援國家語言的體系結構允許你使用本地化語言來儲存,處理,檢索資料。它使資料庫工具,錯誤訊息,排序次序,日期,時間,貨幣,數字,和日曆自動適應本地化語言和平臺。

    影響oracle資料庫字符集最重要的引數是NLS_LANG引數。

    它的格式如下:   NLS_LANG = language_territory.charset

    它有三個組成部分(語言、地域和字符集),每個成分控制了NLS子集的特性。

    其中:

    Language 指定伺服器訊息的語言,territory 指定伺服器的日期和數字格式,charset 指定字符集。如:AMERICAN _ AMERICA. ZHS16GBK

    從NLS_LANG的組成我們可以看出,真正影響資料庫字符集的其實是第三部分。

    所以兩個資料庫之間的字符集只要第三部分一樣就可以相互匯入匯出資料,前面影響的只是提示資訊是中文還是英文。

    二.檢視資料庫字符集

    這涉及三方面的字符集,

    一是oracel server端的字符集;

    二是oracle client端的字符集;

    三是dmp檔案的字符集。

    在做資料匯入的時候,需要這三個字符集都一致才能正確匯入。

    1、查詢oracle server端的字符集

    有很多種方法可以查出oracle server端的字符集,比較直觀的查詢方法是以下這種:

    SQL>select userenv(‘language’) from dual;

    結果類似如下:AMERICAN _ AMERICA. ZHS16GBK

    2、如何查詢dmp檔案的字符集

    用oracle的exp工具匯出的dmp檔案也包含了字符集資訊,dmp檔案的第2和第3個位元組記錄了dmp檔案的字符集。如果dmp檔案不大,比如只有 幾M或幾十M,可以用UltraEdit開啟(16進位制方式),看第2第3個位元組的內容,如0354,然後用以下SQL查出它對應的字符集:

    SQL> select nls_charset_name(to_nu

  • 中秋節和大豐收的關聯?
  • 律師諮詢的收費標準是怎樣的?諮詢普通問題需要給錢嗎?