操作系統環境變量LANG和NLS_LANG的關系


=Native Language Support本地語言支持 NLS

ORACLE11g-ORA-12705: Cannot access NLS data files or invalid environment specified

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 

 export ORA_NLS10=/u01/app/Oracle/product/11.2.0/dbhome_1/nls/data

 

作系統環境變量針對語言項設置有幾個,我經常設置的是這兩個LANG和NLS_LANG。

LANG是針對Linux系統的語言、地區、字符集的設置,對linux下的應用程序有效,如date;

NLS_LANG是針對Oracle語言、地區、字符集的設置,對oracle中的工具有效。
例如

Shell script代碼   收藏代碼
  1. export LANG=zh_CN.GB2312  
  2. export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  

 

 

Trc代碼   收藏代碼
  1. $export LANG=zh_CN.GB2312  
  2. $date  
  3. 2012年 11月 27日 星期二 16:20:35 CST  

 

顯示是中文界面。

 

Trc代碼   收藏代碼
  1. $export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  
  2.   
  3. $sqlplus / as sysdba  
  4. SQL*Plus: Release 10.2.0.4.0 - Production on Tue Nov 27 16:19:03 2012  
  5. Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.  
  6. Connected to:  
  7. Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production  
  8. With the Partitioning, Real Application Clusters, OLAP, Data Mining  
  9. and Real Application Testing options  
  10. SQL> select sysdate from dual;  
  11.   
  12. SYSDATE  
  13. ------------  
  14. 27-NOV-12  

 

顯示的是英文環境,但只對ORACLE程序生效。



Linux系統中關於環境變量的LANG設置主要有下列項目:

Trc代碼   收藏代碼
  1. [root@blliu tmp]# locale  
  2. LANG=zh_CN.gb2312  
  3. LC_CTYPE="zh_CN.gb2312"  
  4. LC_NUMERIC="zh_CN.gb2312"  
  5. LC_TIME="zh_CN.gb2312"  
  6. LC_COLLATE="zh_CN.gb2312"  
  7. LC_MONETARY="zh_CN.gb2312"  
  8. LC_MESSAGES="zh_CN.gb2312"  
  9. LC_PAPER="zh_CN.gb2312"  
  10. LC_NAME="zh_CN.gb2312"  
  11. LC_ADDRESS="zh_CN.gb2312"  
  12. LC_TELEPHONE="zh_CN.gb2312"  
  13. LC_MEASUREMENT="zh_CN.gb2312"  
  14. LC_IDENTIFICATION="zh_CN.gb2312"  
  15. LC_ALL=  

 

這里LC_ALL沒有設置,如果它設置了,上面所有的設置都無效的,系統會讀取LC_ALL。

 

locale -a 查看本地字符集
locale -m 查看所有支持的字符集


在Oracle數據庫中查NLS_LANG設置:

 

Sql代碼   收藏代碼
    1. SQL> SELECT *  
    2.   2    FROM DATABASE_PROPERTIES  
    3.   3   WHERE PROPERTY_NAME IN  
    4.   4         ('NLS_LANGUAGE', 'NLS_TERRITORY', 'NLS_CHARACTERSET');  
    5.   
    6. PROPERTY_NAME                  PROPERTY_VALUE                 DESCRIPTION  
    7. ------------------------------ ------------------------------ --------------------  
    8. NLS_LANGUAGE                   AMERICAN                       Language  
    9. NLS_TERRITORY                  AMERICA                        Territory 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM