Tips: Error ORA-12899 insert value too large GeneXus Oracle

Exportamos una base de datos en Oracle 9 y queremos importar los datos en una base de datos Oracle 10

Nos surge el problema que algunos registros de algunas tablas no son importados y nos aparece el mensaje

IMP-00019: Fila rechazada debido al error ORACLE 12899
IMP-00003: se ha encontrado un error 12899 de ORACLE
ORA-12899: el valor es demasiado grande para la columna “Esquema”.”Tabla”.”Columna”

Este problema es porque la base de datos está configurada para multi-byte y caracteres con tilde o algún símbolo puede ocupar dos bytes lo cual hace sobrepasar la capacidad de almacenamiento.

Solución: Borrar el esquema nuevo en la base de datos Oracle 10. Cambiar la variable de ORACLE

NLS_LENGTH_SEMANTICS para CHAR

alter system set NLS_LENGTH_SEMANTICS=CHAR SCOPE=BOTH;

Reiniciar la base de datos, crear nuevamente el esquema, si estás usando GeneXus hacer un CREATE DATABASE, ahora con la variable setadada para char, las nuevas tablas se crearán contemplando esta propiedad.

Luego importa los datos nuevamente, y debería estar solucionado.

Fabricio De los Santos
Gerencia de Proyectos – Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

Deja un comentario