Oracle - Lectura de un archivo de texto

 
Vista:

Lectura de un archivo de texto

Publicado por Alejandro Castro (5 intervenciones) el 10/07/2002 17:21:44
Mi consulta es la siguiente

Tengo un archivo de texto que tiene un tamaño variable. La informacion viene sin ser separada por el caracter de salto de linea <ENTER>. Es decir toda la informacion es una sola linea.
La funcion que siempre he utilizado es Utl_File.Get_Line(p_archi, p_linea); para leer el archivo desde el servidor ftp y me trae una linea de caracteres, en este caso no me funciona porque desconozco el tamaño de la linea.
Existe alguna funcion con la que pueda recorrer un archivo de texto sea por caracteres o por una longitud especificada previamente.
Tambien es importante aclarar que el archivo plano viene con una estructura de xml, osea, existe algun paquete que procese un archivo con estas caracteristicas???? sea recorriendo el archivo plano o procesando el xml.......

Muchas Gracias de Antemano.....
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:Lectura de un archivo de texto

Publicado por DACH (258 intervenciones) el 10/07/2002 18:42:38
Hola:
Con que version estas trabajando ? Utilizas Forms para ello ? que version ? En que ambiente estas trabajando WEB o Cliente Servidor ?

Salu2.-
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:Lectura de un archivo de texto

Publicado por Alejandro Castro (5 intervenciones) el 10/07/2002 19:21:33
Developer 6.0 y Oracle 8, es un ambiente cliente servidor, el proceso de apertura y procesamiento del archivo se hace en el servidor por un procedimiento almacenado. El archivo de texto se copia via ftp al servidor y alli lo procesa.

Te agradeceria en todo lo que me puedas ayudar...
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:Lectura de un archivo de texto

Publicado por Laura (10 intervenciones) el 10/07/2002 20:11:58
Lo has intentado por Text_io? este es un ejemplo, para que tengas una idea

declare
in_file text_io.file_type;
linebuf varchar2(20000);

BEGIN

in_file := text_io.fopen('C:\xxx.txt','r');
loop
text_io.get_line(in_file, linebuf);
text_io.put(linebuf);
text_io.new_line;

cuenta := ltrim(rtrim(substr(linebuf,1,3)));

Begin
Insert into tabla(campos)
values( valores );-- por ejemplo cuenta
End;
end loop;
text_io.fclose(in_file);
end;
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:Lectura de un archivo de texto

Publicado por Alejandro Castro (5 intervenciones) el 10/07/2002 20:29:52
sip, correcto de hecho en la la instruccion.... text_io.get_line(in_file, linebuf); .... es donde tengo el problema, porque el archivo xml viene con toda la informacion en una sola linea y el tamaño del archivo varia dependiendo del numero de transacciones bancarias realizadas, es por eso que el get_line no me funciona... De casualidad sabes si oracle cuenta con un get_char o algo para obtener una una cantidad determinada de caracteres de un archivo, sin tomar en cuenta las lineas del mismo....
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:Lectura de un archivo de texto

Publicado por DACH (258 intervenciones) el 11/07/2002 15:27:55
Hola, has intentado trabajar en el Text_Io.Get_Line con una variable de tipo long, quizas te falla por el alrgo maximo de un varchar2.-

Salu2.-
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:Lectura de un archivo de texto

Publicado por Alejandro Castro (5 intervenciones) el 11/07/2002 15:51:33
Hola!
Sip, lo que pasa es que el largo es variable, de un registro hasta n, dependiendo de las transacciones. En realidad lo que necesito saber es si Oracle tiene una funcion similar al Getc de C++, un get char para recorrer el archivo caracter por caracter.

Si sabes de algo te agradeceria...
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:Lectura de un archivo de texto

Publicado por Laura (10 intervenciones) el 12/07/2002 22:59:00
utiliza la funcion 'length' te devuelve el tamaño del campo que leiste, y lo colocas en una varible
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:Lectura de un archivo de texto

Publicado por Laura (10 intervenciones) el 12/07/2002 23:02:06
utiliza la funcion 'length' te devuelve el tamaño del campo que leiste, y lo colocas en una varible.
existe la funcion substr, la puede hacer algo asi como substr(campo, 1, n+1) hasta que el tamaño sea igual al que leiste en el length.
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:Lectura de un archivo de texto

Publicado por Alejandro Castro (5 intervenciones) el 12/07/2002 23:07:08
Gracias.....
En realidad lo que necesito es el equivalente del GETC de C++ en el que puedo ir leyendo el archivo caracter por caracter hasta fin de archivo sin perder el puntero y no el GET_LINE, porque no me sirve traer toda la linea.....
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:Lectura de un archivo de texto

Publicado por Bruno Aversa (3 intervenciones) el 05/09/2002 20:18:16
Evidentemente nadie entiende tu pregunta. Yo tengo exactamente el mismo problema ya que quiero interpretar un archivo .DBF (xBase) y el mismo no contiene enter dentro de si. Imagino que una solución posible es escribir una funcion en C o en java que tengo entendido que pueden ejecutarse desde la base, el problema es que no se como hacerlo funcionar. Si sabes de algo por favor avisame a mi dirección de correo.
Gracias.
Salu2
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:Lectura de un archivo de texto

Publicado por Ramiro Arce (1 intervención) el 04/03/2010 17:57:52
Yo si entiendo la pregunta de Alejandro Castro, pues tengo la misma necedidad de él : leer un arquivo texto, caracter a caracter (y no linea a linea).
Acontece que Oracle solo tiene el Get_Line, y tiene algo asi como um Get_Char.
Mi problema es que el archivo que trato de leer es muy grande y no tiene retornos de linea.

Si alguien tiene alguna idea para solucionar este problema, favor comparitr.

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

Lectura de un archivo de texto

Publicado por Tazzboy (1 intervención) el 08/05/2012 13:00:46
GET_LINE tiene un tercer parámetro que es el número de caracteres que deseas obtener cada vez que lo llamas.

UTL_FILE.GET_LINE(fichero, variable, longitud)

Si longitud = 80, obtendrá 80 caracteres como máximo en cada llamada hasta el fin.
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