ayuda con UTL_FILE

anonimo
30 de Julio del 2005
Saludos.

creo que esto ya ha sido respondido antes, pero ahi va.

tengo un texto plano(ASCII) en donde cada linea es un registro, lo que quiero es usar UTL_FILE para pasar esos datos a una tabla pero no se como hacerlo, si alguien me puede ayudar lo agradeceria

jc3000
30 de Julio del 2005
Bueno, asi como lo planteas ( o como lo entiendo yo ) es facil :
Te lees un linea del fichero,separas los campos con la funcion SUBSTR y lo insertas.
Suponte que cada linea del fichero tiene un codigo ( los tres primeros caracteres ) y su descripcion ( el resto ) :

declare
fichero utl_file.file_type;
cadena varchar2(100);
begin
fichero :=utl_file.fopen('/usr/datos/utl_file/maestro.txt','r');
loop
utl_file.get_line(fichero,cadena);
insert into tabla
(codigo,descripcion)
values
(substr(cadena,1,3),substr(cadena,4));
commit;
end loop;

exception
when no_data_found then
utl_file.fclose(fichero);
no es un error, ha leido ya la ultima linea del
fichero y no queda mas por leer
when others then
aqui gestionas el error

end;


RAGE
30 de Julio del 2005
AMIGO, PUEDES MEJORAR LA UTILIDAD DE TU PROGRAMA UTILIZANDO LAS TECNICAS DE TABLAS EXTERNAS DE ORACLE 9I, SON MUY UTILES Y VERSATILES.

jc3000
30 de Julio del 2005
Amigo RAGE

¿ Puedes explicar que son para ti las tablas externas o es un termino que acabas de inventar ?