SqlLoad . Que hacer cuando hay nulos en el archivo plao

jose pazce
27 de Agosto del 2004
Tengo el siguiente problema.

Me han enviado un archivo plano con data separados con balote|.

Pero mi archivo ctl funciona okey cuando no hay nulos en el archivo plano.


Pero cuando me envias valores nulos me sale el siguiente error.

ORA-02360: Column not found before end of logical record (use TRAILING NULLCOLS)

He tratado de usar el TRAILING NULLCOLS dentro de mi CTL pero al parecer cuando se utiliza un archivo CTL que utilice fields terminated by '|' no se podria aplicar el TRAILING NULLCOLS .

Como podria hacer para realiza mi carga.
En mi archivo a cargar en un campo todos los valores de los registros son nulos.

Hay solución para esto.

Mi ctl es el siguiente.

LOAD DATA
INFILE 'ubigeo.txt'
truncate
INTO TABLE ubigeo_paises
fields terminated by '|' (CODIGO,TPAIS,TCONTINENTE,TGENTILICIO)

N?or
27 de Agosto del 2004
EL "control" está bien. ¿Por qué no mandás una muestra de tu archivo .txt?

N?or
27 de Agosto del 2004
José, mirá este ejemplo:
carga.dat ->
LOAD DATA
INFILE \'carga.dat\'
truncate
INTO TABLE cesarito
fields terminated by \'|\'
trailing nullcols
(literal,
valor1,
valor2)

archivo de control carga.ctl -->
LOAD DATA
INFILE \'carga.dat\'
truncate
INTO TABLE cesarito
fields terminated by \'|\'
trailing nullcols
(literal,
valor1,
valor2)

> sqlldr userid=xx control=carga.dat
y carga perfectamenete.
Ahora, y tal vez no entendí bien tu problema, ¿tenés líneas con todos los campos nulos?

iramo
27 de Agosto del 2004
No se si esto es lo que quieres...pero a mi esto me sirve para subir registros a una tabla, cuando vienen con nulos...espero te sirva...

LOAD DATA INFILE 'nac962001.lst'
APPEND INTO TABLE extr_nac
FIELDS TERMINATED BY "|"
(CURP NULLIF CURP=BLANKS,
CRIP_ED NULLIF CRIP_ED=BLANKS,
ESTADO NULLIF ESTADO=BLANKS,
MUNPIO NULLIF MUNPIO=BLANKS,
DISTRITO NULLIF DISTRITO=BLANKS......