插入月份,报无效月份
g.cn了下,http://www.itpub.net/thread-350072-1-1.html
E:\>set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBKE:\>sqlplus test/test@to30SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 4月 19 13:02:05 2005Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
连接到:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Productiontest@SYSTEM_SERVER> select sysdate from dual;SYSDATE
----------
19-4月 -05test@SYSTEM_SERVER>E:\>set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK   ------///////我的执行这句报错了E:\>sqlplus test/test@to30SQL*Plus: Release 9.2.0.1.0 - Production on Tue Apr 19 13:01:13 2005Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Productiontest@SYSTEM_SERVER> select sysdate from dual;SYSDATE
---------
19-APR-05
我的执行到了
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK   
出现了在SQL*Plus工作单中出现 
SP2-0735: 未知的 SET 选项开头"NLS_LANG=A..." 
又找到 http://topic.csdn.net/u/20081225/17/ef7309e1-e16d-42df-ac06-a1bee92d807e.html
按照1楼 lpc19598188 的回复执行 alter system set nls_language=AMERICAN scope = spfile;
报下面的错
                 *
ERROR at line 1:
ORA-02096: specified initialization parameter is not modifiable with this option
我的oracle 9i 2
如果改注册表的话 ,找到 NLS_LANG ,要把它改成什么才可以输入美国的月份?

解决方案 »

  1.   

    补充下,我找到http://www.itpub.net/thread-350072-1-1.html 
    参照贴子里的操作,
    到这句(set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  )就出现了SP2-0735: 未知的 SET 选项开头"NLS_LANG=A..." 错误,又找到贴子 http://topic.csdn.net/u/20081225/17/ef7309e1-e16d-42df-ac06-a1bee92d807e.html 
    按照1楼 lpc19598188 的回复执行 alter system set nls_language=AMERICAN scope = spfile; 
    报下面的错 
                    * 
    ERROR at line 1: 
    ORA-02096: specified initialization parameter is not modifiable with this option
    不知道 有没有说明白 
      

  2.   

    你是不是插入美国格式的日期失败?但是你一定要用美国的日期格式,是这个意思吗?如果是,只需要在sqlplus里面改下就可以了:
    SQL> select sysdate from dual;SYSDATE
    --------------
    15-3月 -09SQL> create table testDate
      2  ( mydate date );Table created.SQL> insert into testDate values(sysdate);1 row created.SQL> select * from testDate;MYDATE
    --------------
    15-3月 -09SQL> insert into testDate values( to_date('19-APR-05', 'dd-mon-yy') );
    insert into testDate values( to_date('19-APR-05', 'dd-mon-yy') )
                                         *
    ERROR at line 1:
    ORA-01843: not a valid monthSQL> select * from v$nls_parameters;PARAMETER                                                        VALUE
    ---------------------------------------------------------------- -----------------------------------
    NLS_LANGUAGE                                                     SIMPLIFIED CHINESE
    NLS_TERRITORY                                                    CHINA
    NLS_CURRENCY                                                     ¥
    NLS_ISO_CURRENCY                                                 CHINA
    NLS_NUMERIC_CHARACTERS                                           .,
    NLS_CALENDAR                                                     GREGORIAN
    NLS_DATE_FORMAT                                                  DD-MON-RR
    NLS_DATE_LANGUAGE                                                SIMPLIFIED CHINESE
    NLS_CHARACTERSET                                                 ZHS16GBK
    NLS_SORT                                                         BINARY
    NLS_TIME_FORMAT                                                  HH.MI.SSXFF AMPARAMETER                                                        VALUE
    ---------------------------------------------------------------- -----------------------------------
    NLS_TIMESTAMP_FORMAT                                             DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT                                               HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT                                          DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY                                                ¥
    NLS_NCHAR_CHARACTERSET                                           AL16UTF16
    NLS_COMP                                                         BINARY
    NLS_LENGTH_SEMANTICS                                             BYTE
    NLS_NCHAR_CONV_EXCP                                              FALSE19 rows selected.SQL> alter session set nls_language=AMERICAN; Session altered.SQL> insert into testDate values( to_date('19-APR-05', 'dd-mon-yy') );1 row created.SQL> select * from testDate;MYDATE
    ------------
    15-MAR-09
    19-APR-05SQL> select sysdate from dual;SYSDATE
    ------------
    15-MAR-09SQL>