Oracle - UTL_FILE leer linea e insertar en tabla

 
Vista:

UTL_FILE leer linea e insertar en tabla

Publicado por CarlosA (5 intervenciones) el 15/11/2008 15:14:28
Hola... necesito leer un archivo .txt o .cvs e insertarlo a una tabla... tengo entendido que en el servidor puedo usar utl_file para hacerlo.. ya se como abrir el archivo y como obtener una linea pero tengo las siguientes dudas...

con utl_file.get_line obtengo una linea cierto...

Pregunta 1: debo cargar una linea completa o puedo cargar desde una posicion a otra????
Pregunta 2: como hago para que me lea la primera linea, luego la segunda... etc, etc...???

ejemplo, tengo el siguiente archivo .cvs

1,1,AH0321,00831,1,UNID,12,27122008,27/12/2008,,E,03,,12,N,14/11/2008,1,34908
1,1,AH0321,00831,1,CAJA,112,6042009,06/04/2009,,E,03,,112,N,14/11/2008,1,325808
1,1,AG0231,00802,1,UNID,16,31122008,31/12/2008,,E,03,,16,N,14/11/2008,1,44912
1,1,AG0231,00802,1,CAJA,72,25022009,25/02/2009,,E,03,,72,N,14/11/2008,1,202104

como hago para leer cada dato????, yo se como insertar a las tablas, definir las variables y todo lo demas, pero necesito es la ayuda para leer cada dato de este archivo...

gracias
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:UTL_FILE leer linea e insertar en tabla

Publicado por Jorge Guillén. (7 intervenciones) el 18/11/2008 21:55:43
Funcionaría algo así:

DECLARE
vInHandle utl_file.file_type;
vNewLine VARCHAR2(250);
BEGIN
vInHandle := utl_file.fopen('ORALOAD', 'test.txt', 'R');
LOOP
BEGIN
utl_file.get_line(vInHandle, vNewLine);
dbms_output.put_line(vNewLine);
EXCEPTION
WHEN OTHERS THEN
EXIT;
END;
END LOOP;
utl_file.fclose(vInHandle);
END fopen;
/


!! Saludos. !!
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

RE:UTL_FILE leer linea e insertar en tabla

Publicado por hernan (3 intervenciones) el 21/05/2009 20:31:27
y para enviar a impresion el archivo test.txt mencionado como se hace?

Gracias
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

RE:UTL_FILE leer linea e insertar en tabla

Publicado por diego (3 intervenciones) el 03/12/2009 01:55:46
oye estoy en las mismas me podrian decir como se hace?? necesito leer un .txt y cargarlo en una tabla en oracle pero aun no he logrado conseguirlo agradeceria muchoo su ayuda
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

RE:UTL_FILE leer linea e insertar en tabla

Publicado por cleo (1 intervención) el 22/01/2010 16:34:43
utiliza una external table, sería algo asi

CREATE TABLE PRUEBA_EXT
(
PRUEBA1 VARCHAR2(30 BYTE),
PRUEBA2 VARCHAR2(5 BYTE),
)
ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY PRUEBA_DIR
ACCESS PARAMETERS
( RECORDS DELIMITED BY NEWLINE
LOGFILE 'PRUEBA_EXT.log'
BADFILE 'PRUEBA_EXT.bad'
DISCARDFILE 'PRUEBA_EXT.dsc'
FIELDS TERMINATED BY ";" OPTIONALLY ENCLOSED BY '"' LRTRIM
(
PRUEBA1 CHAR
, PRUEBA2 CHAR
)
)
LOCATION (PRUEBA_DIR:'PRUEBA.txt)
)
REJECT LIMIT 100
NOPARALLEL
NOMONITORING
/
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