首页 > 代码库 > ORA-01843: 无效的月份,执行sql语句更改为美国语言后仍然失败的解决办法

ORA-01843: 无效的月份,执行sql语句更改为美国语言后仍然失败的解决办法

 ORA-01843: 无效的月份
失败的 sql 为:XXXXXXXXXXXXXXXX

执行sql语句更改为美国语言后仍然失败,

ALTER SESSION SET NLS_DATE_LANGUAGE=AMERICAN;

 结果是注册表的问题,优化后多余的语言被清理掉了,所以,要修复注册表

将下面的文件复制保存为注册表文件.reg双击导入注册表。

 windows server 2005 系统时区文件 Time Zones.reg的文件内容,适用于windows server 2008 r2

我是从2005中导出来的,然后导入2008 结果正常,希望对大家有用

注册信息存在系统的三个不同的地方,现整合为一个文件,省掉一些麻烦。

Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones]"TzVersion"=dword:07d90100[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\Central Standard Time]"MUI_Display"="@tzres.dll,-160""MUI_Dlt"="@tzres.dll,-161""MUI_Std"="@tzres.dll,-162""Display"="(UTC-06:00)中部时间(美国和加拿大)""Dlt"="中部夏令时""Std"="中部标准时间""TZI"=hex:68,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,01,00,02,00,00,  00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\Eastern Standard Time]"MUI_Display"="@tzres.dll,-110""MUI_Dlt"="@tzres.dll,-111""MUI_Std"="@tzres.dll,-112""Display"="(UTC-05:00)东部时间(美国和加拿大)""Dlt"="东部夏令时""Std"="东部标准时间""TZI"=hex:2c,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,01,00,02,00,00,  00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\Mountain Standard Time]"MUI_Display"="@tzres.dll,-190""MUI_Dlt"="@tzres.dll,-191""MUI_Std"="@tzres.dll,-192""Display"="(UTC-07:00)山地时间(美国和加拿大)""Dlt"="山地夏令时""Std"="山地标准时间""TZI"=hex:a4,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,01,00,02,00,00,  00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\Pacific Standard Time]"MUI_Display"="@tzres.dll,-210""MUI_Dlt"="@tzres.dll,-211""MUI_Std"="@tzres.dll,-212""Display"="(UTC-08:00)太平洋时间(美国和加拿大)""Dlt"="太平洋夏令时""Std"="太平洋标准时间""TZI"=hex:e0,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,01,00,02,00,00,  00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\US Eastern Standard Time]"MUI_Display"="@tzres.dll,-130""MUI_Dlt"="@tzres.dll,-131""MUI_Std"="@tzres.dll,-132""Display"="(UTC-05:00)印地安那州(东部)""Dlt"="美国东部夏令时""Std"="美国东部标准时间""TZI"=hex:2c,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\US Mountain Standard Time]"MUI_Display"="@tzres.dll,-200""MUI_Dlt"="@tzres.dll,-201""MUI_Std"="@tzres.dll,-202""Display"="(UTC-07:00)亚利桑那""Dlt"="美国山地夏令时""Std"="美国山地标准时间""TZI"=hex:a4,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\UTC]"MUI_Display"="@tzres.dll,-930""MUI_Dlt"="@tzres.dll,-931""MUI_Std"="@tzres.dll,-932""Display"="(UTC)协调世界时""Dlt"="协调世界时""Std"="协调世界时""TZI"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\China Standard Time]"MUI_Display"="@tzres.dll,-570""MUI_Dlt"="@tzres.dll,-571""MUI_Std"="@tzres.dll,-572""Display"="(UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐""Dlt"="中国夏令时""Std"="中国标准时间""TZI"=hex:20,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\China Standard Time]"MUI_Display"="@tzres.dll,-570""MUI_Dlt"="@tzres.dll,-571""MUI_Std"="@tzres.dll,-572""Display"="(UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐""Dlt"="中国夏令时""Std"="中国标准时间""TZI"=hex:20,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\Central Standard Time]"MUI_Display"="@tzres.dll,-160""MUI_Dlt"="@tzres.dll,-161""MUI_Std"="@tzres.dll,-162""Display"="(UTC-06:00)中部时间(美国和加拿大)""Dlt"="中部夏令时""Std"="中部标准时间""TZI"=hex:68,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,01,00,02,00,00,  00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\Eastern Standard Time]"MUI_Display"="@tzres.dll,-110""MUI_Dlt"="@tzres.dll,-111""MUI_Std"="@tzres.dll,-112""Display"="(UTC-05:00)东部时间(美国和加拿大)""Dlt"="东部夏令时""Std"="东部标准时间""TZI"=hex:2c,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,01,00,02,00,00,  00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\Mountain Standard Time]"MUI_Display"="@tzres.dll,-190""MUI_Dlt"="@tzres.dll,-191""MUI_Std"="@tzres.dll,-192""Display"="(UTC-07:00)山地时间(美国和加拿大)""Dlt"="山地夏令时""Std"="山地标准时间""TZI"=hex:a4,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,01,00,02,00,00,  00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\Pacific Standard Time]"MUI_Display"="@tzres.dll,-210""MUI_Dlt"="@tzres.dll,-211""MUI_Std"="@tzres.dll,-212""Display"="(UTC-08:00)太平洋时间(美国和加拿大)""Dlt"="太平洋夏令时""Std"="太平洋标准时间""TZI"=hex:e0,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,01,00,02,00,00,  00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\US Eastern Standard Time]"MUI_Display"="@tzres.dll,-130""MUI_Dlt"="@tzres.dll,-131""MUI_Std"="@tzres.dll,-132""Display"="(UTC-05:00)印地安那州(东部)""Dlt"="美国东部夏令时""Std"="美国东部标准时间""TZI"=hex:2c,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Time Zones\US Mountain Standard Time]"MUI_Display"="@tzres.dll,-200""MUI_Dlt"="@tzres.dll,-201""MUI_Std"="@tzres.dll,-202""Display"="(UTC-07:00)亚利桑那""Dlt"="美国山地夏令时""Std"="美国山地标准时间""TZI"=hex:a4,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\China Standard Time]"MUI_Display"="@tzres.dll,-570""MUI_Dlt"="@tzres.dll,-571""MUI_Std"="@tzres.dll,-572""Display"="(UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐""Dlt"="中国夏令时""Std"="中国标准时间""TZI"=hex:20,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Central Standard Time]"MUI_Display"="@tzres.dll,-160""MUI_Dlt"="@tzres.dll,-161""MUI_Std"="@tzres.dll,-162""Display"="(UTC-06:00)中部时间(美国和加拿大)""Dlt"="中部夏令时""Std"="中部标准时间""TZI"=hex:68,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,01,00,02,00,00,  00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Eastern Standard Time]"MUI_Display"="@tzres.dll,-110""MUI_Dlt"="@tzres.dll,-111""MUI_Std"="@tzres.dll,-112""Display"="(UTC-05:00)东部时间(美国和加拿大)""Dlt"="东部夏令时""Std"="东部标准时间""TZI"=hex:2c,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,01,00,02,00,00,  00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Mountain Standard Time]"MUI_Display"="@tzres.dll,-190""MUI_Dlt"="@tzres.dll,-191""MUI_Std"="@tzres.dll,-192""Display"="(UTC-07:00)山地时间(美国和加拿大)""Dlt"="山地夏令时""Std"="山地标准时间""TZI"=hex:a4,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,01,00,02,00,00,  00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Pacific Standard Time]"MUI_Display"="@tzres.dll,-210""MUI_Dlt"="@tzres.dll,-211""MUI_Std"="@tzres.dll,-212""Display"="(UTC-08:00)太平洋时间(美国和加拿大)""Dlt"="太平洋夏令时""Std"="太平洋标准时间""TZI"=hex:e0,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,01,00,02,00,00,  00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\US Eastern Standard Time]"MUI_Display"="@tzres.dll,-130""MUI_Dlt"="@tzres.dll,-131""MUI_Std"="@tzres.dll,-132""Display"="(UTC-05:00)印地安那州(东部)""Dlt"="美国东部夏令时""Std"="美国东部标准时间""TZI"=hex:2c,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\US Mountain Standard Time]"MUI_Display"="@tzres.dll,-200""MUI_Dlt"="@tzres.dll,-201""MUI_Std"="@tzres.dll,-202""Display"="(UTC-07:00)亚利桑那""Dlt"="美国山地夏令时""Std"="美国山地标准时间""TZI"=hex:a4,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

 

 

客户端系统里环境
 select sysdate from dual;
返回的结果是2014/11/24 20:28:13

进入注册表

Regedit.exe-- windows server 2008

 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1/NLS_LANGUAGE

如果是默认安装oracle的话,NLS_LANGUAGE
这一项的值应该是SIMPLIFIED CHINESE_CHINA.ZHS16GBK(属于中文环境)
双击修改其值为:AMERICAN_ AMERICA.ZHS16GBK (英文环境)
重启数据库

SQL> select sysdate from dual;

SYSDATE
--------------
24-11月-14

SQL>
 

 

ORA-01843: 无效的月份,执行sql语句更改为美国语言后仍然失败的解决办法