在数据迁移里历史数据时,使用insert into …的场合发生ORA-01843: not a valid month 错误

原因定位:
原因是timestamp类型不一致。timestamp的日期格式为YYYY-MM-DD HH24:MI:SS.FF6

解决方法:
通过查询服务端和客户端的会话参数,发现timestamp的格式化格式和要导入的数据不一致。

alter session set nls_date_language=‘AMERICAN’;
alter session set nls_timestamp_format = ‘YYYY-MM-DD HH24:MI:SS.FF’;

查看会话参数:
客户端
select * from nls_session_parameters where parameter=‘NLS_DATE_LANGUAGE’

服务端 select * from nls_database_parameters

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐