Usar archivos de texto

Necesito saber como utilizar un archivo de texto cuya información debe cargarse a una base de datos, la condición es que debe ser desde la aplicación oracle developer, o sea que en la aplicación final mediante un menu tener la opción de cargar los datos

1 respuesta

Respuesta
1
Eso se puede hacer ded muchas formas pero la más fácil y eficiente es mediante la función text_io...
Te voy a regalar el código que debe ir en un botón para subir un determinado archivo a una tabla de la base de datos..
-------------------------------------
-- Vamos a subir del archivo plano --
-------------------------------------
DECLARE L_LINEA VARCHAR2(1000);
L_ARCHIVO TEXT_IO.FILE_TYPE;
L_COD_USUARIO VARCHAR2(30);
L_FECHA2 VARCHAR2(20);
L_FECHA DATE;
L_COD_OPCION VARCHAR2(5);
L_EVENTO VARCHAR2(2);
L_DESCRIPCION VARCHAR2(150);
L_CONSEC NUMBER;
L_NOMBRE_ARCHIVO VARCHAR2(500);
BEGIN
L_NOMBRE_ARCHIVO := GET_FILE_NAME('c:\temp\', File_Filter=>'Nova Files (*.nov)|*.nov|');
:ARCHIVO := UPPER(L_NOMBRE_ARCHIVO);
go_item('ARCHIVO');
IF L_NOMBRE_ARCHIVO IS NOT NULL THEN
BEGIN
L_ARCHIVO := TEXT_IO.FOPEN(L_NOMBRE_ARCHIVO,'R');
SET_APPLICATION_PROPERTY(CURSOR_STYLE,'BUSY');
LOOP
BEGIN
TEXT_IO.GET_LINE(L_ARCHIVO,L_LINEA);
L_COD_USUARIO := SUBSTR(L_LINEA,11,20);
L_FECHA2 := RTRIM(SUBSTR(L_LINEA,31,20));
L_COD_OPCION := RTRIM(SUBSTR(L_LINEA,51,10));
L_EVENTO := RTRIM(SUBSTR(L_LINEA,61,10));
L_DESCRIPCION := SUBSTR(L_LINEA,71,150);
L_CONSEC := TO_NUMBER(SUBSTR(L_LINEA,1,10));
INSERT INTO CNT_AUDITORIA VALUES(L_COD_USUARIO,L_FECHA2,L_COD_OPCION,L_EVENTO,L_DESCRIPCION,L_CONSEC);
EXCEPTION
WHEN NO_DATA_FOUND THEN
EXIT;
END;
END LOOP;
FORMS_DDL('COMMIT');
TEXT_IO.FCLOSE(L_ARCHIVO);
SET_APPLICATION_PROPERTY(CURSOR_STYLE,'DEFAULT');
MENSAJE_GENERAL('INFORMACION', 'Archivo Subido!');
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END IF;
END;
**** en file filter pues pones la extension del archivo a subir..... puedes ponerle .txt o .* lo que quieras...
:Archivo es un text item desde forms en donde quedara el nombre del archivo leído mediante la función GET_FILE_NAME
Y lo inserto en cnt_auditoria que es una tabla mía.. tu lo puedes insertar es en un tuya..
Suerte amigo...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas