还是万恶的数据移植,这回是多了一个新的环境。
所以碰到了以前没碰到过的问题。
我们把DB的某张表,导出,然后导入,不要问我为何这么蛋疼。。。
导入的时候就报错了 ORA-01843,无效的月份。额,大哥,你不是逗我的把,表里明明存得好好的 DD-MON-RR这样的格式
使用SQL developer 查询nls_date_format也是这样没错,查nls_date_language 也是American 没错。
为什么就会报错呢。
想了想,我们是通过DOS下跑 sqlldr导入的,那么这个session和 SQL developer的session不一样吧。
在sqlplus中一查,果然NLS_DATE_LANGUAGE是繁体中文。啊西坝,毕竟轰控人。
但是SQLLDR又没有能够alter session language的地方哦。
而且这么样改只对当前有效,再开另一个CMD对话框也还是原来的繁体中文设置。
这个就惆怅了。我想应该在什么地方有设定的,网上一查
果然。
打开注册列表HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/××home**
找打nls_lang 好了~果然是你
把这个改成AMERICAN_AMERICA.AL32UTF8
done~