Problema Con TEXT_IO.FILE_TYPE

Magues
31 de Agosto del 2004
Tengo problemas al generar un archivo plano, me da el siguiente error PLS-00201 Identificador ‘TEXT_IO.FILE_TYPE’ debe ser declarado
¿ DEBO INSTALAR ALGO MAS, UNA LIB U OTRA COSA ?
¿ EXISTE OTRA FORMA DE CREAR UN ARCHIVO PLANO ?
DE ANTEMANO GRACIAS
DANG

liderbios
31 de Agosto del 2004
podrias indicarme como declaras el objeto text_io.file_type, ademas del codigo que le acompañe

Pablo Ponte Miserendino
31 de Agosto del 2004
Si te puedo aconsejar, te diria que no trabajes la e/s por archivos desde forms....hay un paquete de la base desde la versión 3.0 (creo), UTL_FILE.
Mi consejo es que crees tus propios program units en la base usando funcionalidades de este paquete y que luego los llames desde forms, de esta manera tenes muuuchas cosas menos que pueden fallar.
Si no conoces el paquete te tiro un par de tip's hacerca de como funciona:

necesitas un id de archivo (igual que con TEXT_IO) que tiene su tipo de variable propio, pero por suerte este tipo esta en el mismo package: UTL_FILE.FILE_TYPE.
tenes 3 progs (1 func y 2 proc) básicos para abrir y cerrar archivos: FOPEN(<<ubicación o path>>,<<nombre del archivo>>,<<modo>>) para abrir esta funcion tiene salida tipo FILE_TYPE y te da el id del archivo abierto; FCLOSE(<<IDARCHIVO>>) sin salida; y FCLOSE_ALL sin salida ni parametros para cerrar todo lo que este abierto.
el modo de apertura depende de lo que quieras hacer: puede tomar 3 valores , 'W' solo escritura, 'A' agregado, 'R' solo lectura.
una vez abierto el archivo podes escribir o leer de el:
put_line(<<IDARCHIVO>>,<<string que queres escribir>>) o bien: get_line(<<IDARCHIVO>>,<<VARIABLE donde se carga la linea del archivo>>).
Un ejemplo puede sevir:

DECLARE
f_id UTL_FILE.FILE_TYPE;
linea varchar2(500);
BEGIN
f_id := UTL_FILE.FOPEN('C:\','AUTOEXEC.BAT','R');
ult_file.get_line(f_id,linea);
insert into tabla1 (campo1)
values(linea);--es solo un ejemplo podes hacer lo que quieras con el string
utl_file.fclose(f_id);
END;

este package tiene varias cosas mas muy utiles, sobre todo exceptions propias, fijate y despues me contas...

cualquier cosa escribime