Oracle - SQLLDR - Dudas principiante

 
Vista:

SQLLDR - Dudas principiante

Publicado por arauxa (4 intervenciones) el 14/04/2008 11:00:53
Hola, estoy intentando cargar un archivo a través del sql - loader, pero me salta un error y creo que es que tengo mal el fichero *.ctl.
- Mi fichero *.ctl contiente la siguiente sentencia:
LOAD DATA
APPEND
INTO TABLE INMOVILIZADO

Entiendo que si el fichero que contiene los datos tiene el mismo número de columnas que la tabla en la que se van a insertar no es necesario indicar en el 'LOAD DATA...' nombres y atributos de las columnas , ¿o si es necesario???

Porque el error que me lanza es: 'Error de sintaxis el la línea 3, se esperaba "(" se ha encontrado fin de archivo'.

Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SQLLDR - Dudas principiante

Publicado por Pedro (1 intervención) el 14/04/2008 12:35:41
Hola buenas, efectivamente tienes que especificar que es lo que quieres cargar, la sintaxis es la siguiente

Load data
infile 'fichero.txt' /* esto no es obligatorio es si por si se lanza desde la linea de comando de unix*/
Append
into table tabla(
CODI POSITION (01:18) CHAR(18),
CODI2 POSITION (19:20) INTEGER EXTERNAL (2),

)

tienes que especicar tal cual es el nombre del campo de la tabla, la posicion en el fichero txt y el tipo de dato en el fichero (no en oracle), a mi la experiencia me dice que es mejor tratarlos como char e insertarlos en una tabla temporal y luego hacer las transformaciones oportunas (numericos, fechas, etc...)

Por si tambien te sirve de algo tambien se pueden llamar a funciones de oracle

Por ejemplo

codi POSITION (01:18) CHAR(18) secuencia.nextval , (no se puede llamar al valor currval si previamente no has ejecutado el nextval desde el loader)

codi2 POSITION (19:20) INTEGER EXTERNAL (2) formateafecha(codi2),

Espero que te ayude
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar