Posicionamiento de campos de fichero para SQL*Loader
Hola, necesito saber si mediante SQL*Loader se pueden referenciar posiciones de campos, delimitados, dentro de un fichero de carga cuyo contenido es VARIABLE
Lo que tienes que hacer es crear el fichero de texto con separadores. Por ejemplo:
set pause off
set newpage none
set heading off
set feedback off
set verify off
set linesize 2000
set trimspool on
set trimout off
set termout off
spool c:\\\\datos.dat
select dato1 ||\\\\'|\\\\'||
dato2 ||\\\\'|\\\\'||
dato3
from tabla1;
exit;
Y te creará un fichero de este tipo:
adfkadf|34343|ASDFASDF
ad|121212|SDF
askdfdlkfjdf|34334934|ASDKFADF
Una vez creado el fichero tendrás que crear un .ctl de este tipo:
LOAD DATA
INFILE *
INTO TABLE tabla2
APPEND
FIELDS TERMINATED BY \\\\'|\\\\'
(
CAMPO1_TABLA2,
CAMPO2_TABLA2,
CAMPO3_TABLA3)
De esta forma el pipelÃn (\'|\') actúa como separador de campo, permitiéndote que la longitud de dichos campos sea variable.
set pause off
set newpage none
set heading off
set feedback off
set verify off
set linesize 2000
set trimspool on
set trimout off
set termout off
spool c:\\\\datos.dat
select dato1 ||\\\\'|\\\\'||
dato2 ||\\\\'|\\\\'||
dato3
from tabla1;
exit;
Y te creará un fichero de este tipo:
adfkadf|34343|ASDFASDF
ad|121212|SDF
askdfdlkfjdf|34334934|ASDKFADF
Una vez creado el fichero tendrás que crear un .ctl de este tipo:
LOAD DATA
INFILE *
INTO TABLE tabla2
APPEND
FIELDS TERMINATED BY \\\\'|\\\\'
(
CAMPO1_TABLA2,
CAMPO2_TABLA2,
CAMPO3_TABLA3)
De esta forma el pipelÃn (\'|\') actúa como separador de campo, permitiéndote que la longitud de dichos campos sea variable.
No entiendo muy bien tu pregunta pero SQL*Loader puede referenciar campos por su posición absoluta dentro de un fichero de longitud de registro fija o por su posición relativo en un fichero de longitud de registro variable delimitado por "algo". En cualquiera de los casos Loader tiene posibilidades de programación para agregarle cierta inteligencia a la carga.
PD: si te interesa puedo enviarte una pequeña referencia que armé acerca de Loader que, al menos para la gente que trabaja aquÃ, resulta útil.
PD: si te interesa puedo enviarte una pequeña referencia que armé acerca de Loader que, al menos para la gente que trabaja aquÃ, resulta útil.
