oracle客户端(操作系统英文win2003)注册表里:
NLS_LANGUAGE='SIMPLIFIED CHINESE.ZHS16GBK'
NLS_DATE_FOEMAT='YYYY-MM-DD'plsql连接数据库,select * from nls_session_parameters;
1 NLS_LANGUAGE SIMPLIFIED CHINESE
2 NLS_TERRITORY CHINA
3 NLS_CURRENCY ¥
4 NLS_ISO_CURRENCY CHINA
5 NLS_NUMERIC_CHARACTERS .,
6 NLS_CALENDAR GREGORIAN
7 NLS_DATE_FORMAT YYYY-MM-DD
8 NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
9 NLS_SORT BINARY
10 NLS_TIME_FORMAT HH.MI.SSXFF AM
11 NLS_TIMESTAMP_FORMAT YYYY-MM-DD HH24:MI:SS.FF
12 NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
13 NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
14 NLS_DUAL_CURRENCY ¥
15 NLS_COMP BINARY
16 NLS_LENGTH_SEMANTICS BYTE运行部署的程序总是显示:
ORA-01843: 无效的月份

解决方案 »

  1.   

    具体是哪个语句出错呢?NLS_DATE_FORMAT YYYY-MM-DD这样的话,月份的字符串不能是中文的,否则to_date会出错。如果月份是中文,NLS_DATE_FORMAT要改成 YYYY-MON-DD
      

  2.   

    NLS_DATE_FOEMAT='YYYY-MM-DD'这个设置先去掉 看看 
      

  3.   

    数据库我无权操作,程序是asp.net,现在的nls_session_parameters查询如下,如何改?NLS_LANGUAGE SIMPLIFIED CHINESE
    NLS_TERRITORY CHINA
    NLS_CURRENCY ¥
    NLS_ISO_CURRENCY CHINA
    NLS_NUMERIC_CHARACTERS .,
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD-MON-RRNLS_DATE_LANGUAGE SIMPLIFIED CHINESE
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT YYYY-MM-DD HH24:MI:SS.FF
    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_COMP BINARY
    NLS_LENGTH_SEMANTICS BYTE
    NLS_NCHAR_CONV_EXCP FALSE