Oracle - Leer archivos

 
Vista:

Leer archivos

Publicado por Alexandra Pasquel (17 intervenciones) el 28/06/2001 18:04:34
Hola.

Les escribo porque tengo un problema. Necesito leer un archivo tipo texto en el cual constarán ciertos datos separados por comas(,) desde Oracle Forms. Los datos de este archivo necesito ponerlos en alguna tabla temporal o en alguún cursor para luego procesar los mismos y después de eso si pasarlos a las tablas definitivas. Cómo puedo hacer esto???

Gracias por su respuesta.
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:Leer archivos

Publicado por Oscar Barrientos (4 intervenciones) el 28/06/2001 21:21:55
declare
IN_FILE TEXT_IO.FILE_TYPE;
OUT_FILE TEXT_IO.FILE_TYPE;
v_empleado number(5);
v_correo varchar2(256);
v_linea varchar2(500);
existe number;

begin
-- Abre el archivo
in_file := Text_IO.Fopen('d:\script\correos.csv','R');
-- Crea una bitacora para registros con errores
out_file := Text_IO.Fopen('d:\script\correos_malos.csv','W');
-- Si el archivo se abre correctamente ejecuta la carga
IF Text_IO.Is_Open(in_file) THEN
loop
-- recupera una linea del archivo, el loop automaticamente
-- realiza el avance de los reglones del archivo
TEXT_IO.GET_LINE(IN_FILE,V_LINEA);
--el SUBSTR recupera lo que esta de una posicion a otra antes
--de encontrar la ',' esto ultimo con el INSTR
V_Empleado := TO_NUMBER(SUBSTR(V_LINEA,1,instr
(V_LINEA,',')-1));
v_correo := UPPER(RTRIM(SUBSTR(V_LINEA,instr
(V_LINEA,',')+1,50))) || '@BNCR.FI.CR';
-- todo es un juego de funciones sobre el string que contiene el
-- campo V_LINEA

-- Apartir de aqui usas tu instruccion sql como quiera, pero mira la
-- EXCEPCION...

select count(*) into existe from mcl_clientes
where num_empleado = v_empleado;

if existe > 0 then
update mcl_clientes
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:Leer archivos

Publicado por victor rodriguez (2 intervenciones) el 26/07/2001 23:02:01
Alexandra: lo mas facil para la realizacion de tu problemas es el siguientes. Como tienes un archivo delimitado por comas, puedes abrir el archivo delimitado por comas y a todas las columnas ponerlas de un mismo tamaño, luego grabar este archivo pero esta vez delimitado por espacios.

Con este procedimiento tienes columnas de tamaño fija y asi poder utilizar la instruccion substr();

Cualquier informacion me puedes contactar.
bye.
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