miércoles, 18 de enero de 2012

ORA-01843: not a valid month

El mensaje que aparecía en el log, después de ejecutar la shell es el siguiente:
 Record 26: Rejected - Error on table TARIFAS_CARGA, column "INICIO".ORA-01843: not a valid month
¿Cual fue la solución? Agregar formato en el archivo ctl para las fechas con la instrucción to_date, de la siguiente forma:
 Archivo CTL.


load data 
 Append into table PERIODOS 
 fields terminated by ";" optionally enclosed by '"'
 ( PERIODO , 
 INICIO "to_date(:INICIO, 'dd-mm-yy')" , 
 FIN "to_date(:FIN, 'dd-mm-yy')" 
 )

Tal vez sea necesario que conozcas primero el formato para las fechas en tu instalación de Oracle.

 select * from nls_session_parameters; 

En la imagen se encuentra marcada la opción NLS_DATE_FORMAT, esta indica el formato de fecha. RR quiere decir YY (año).



No hay comentarios: