Buenas tardes. Estoy tratando de cargar un archivo csv hacia una tabla oracle , pero no me permite, por faor si me pueden ayudar,le envio mi procedure para la ayuda.
EL PROPCEDURE LEE HASTA EL PASO 4, DE AHI SE CUELGA, NO INSERTA EN LA BASE DE DATOS,COMO PODRIA HACER PARA INSERTAR DICHOS ARCHIVOS??
GRACIAS POR LA RESPUESTA.
JOSE.
SYNCHRONIZE;
BEGIN
DECLARE
L_LINEA VARCHAR2(1800);
L_ARCHIVO TEXT_IO.FILE_TYPE;
L_NOMBRE_ARCHIVO VARCHAR2(500);
BEGIN
message(‘paso 1’);
L_NOMBRE_ARCHIVO := GET_FILE_NAME(‘c:’, File_Filter=>’Nova Files (*.csv)|*.csv|’);
message(‘paso 2’);
BEGIN
LOOP
message(‘paso 3’);
L_ARCHIVO := TEXT_IO.FOPEN(L_NOMBRE_ARCHIVO,’R’);
SET_APPLICATION_PROPERTY(CURSOR_STYLE,’BUSY’);
TEXT_IO.GET_LINE(L_ARCHIVO,L_LINEA);
IF Text_IO.Is_Open(L_ARCHIVO) THEN
message(‘abierto archivo’);
end if;
IF L_LINEA IS NOT NULL THEN
message(‘paso 4’);
INSERT INTO NOMBRE_TABLA(CAMPO1,CAMPO2,CAMPO3,CAMPO4,CAMPO5,CAMPO6,CAMPO7)
VALUES(SUBSTR(CAMPO1,1,1),SUBSTR(CAMPO1,2,13),SUBSTR(CAMPO1,14,1),
SUBSTR(CAMPO1,15,97),SUBSTR(CAMPO1,98,159),SUBSTR(CAMPO1,160,171),SUBSTR(CAMPO1,172,183));
END IF;
END LOOP;
FORMS_DDL(‘COMMIT’);
–commit;
message(‘paso 5 grabo’);
TEXT_IO.FCLOSE(L_ARCHIVO);
SET_APPLICATION_PROPERTY(CURSOR_STYLE,’DEFAULT’);
EXCEPTION WHEN OTHERS THEN NULL;
END;
END;
EXCEPTION WHEN OTHERS THEN MESSAGE(SQLERRM);
MENSAJE (‘Archivo Cargado, Proceso Terminado’);
END;