在数据迁移里历史数据时,使用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

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐