Leer Fichero y cargarlo en un cursor

15/09/2005 - 11:21 por Alfonso Lucas Carbonell | Informe spam
Tengo un fichero de texto plano con la siguente estructura
10 posiciones(1campo) y sin separador 2 campo de 10 posiciones y me gustaria
cargarlo en un cursor.
Estoy un poco perdido.

Un saludo

____________________________________________________________________________
________________________

Este mensaje se envía desde Ges Seguros y Reaseguros S.A., está protegido
por la ley y puede contener secretos de empresa. Si lo recibiera por
error, por favor notifíquelo respondiendo al mensaje y bórrelo de su
sistema. Por favor, no lo copie o use para cualquier propósito o comunique a
otras personas, si lo hiciese supondría ruptura de confidencialidad, esto
podría suponer una seria infracción legal, civil y penalmente perseguida en
España y otros países. Gracias por su colaboración. Tel . 34 902 308 585

This e-mail is confidential and may well also be legally privileged. If you
have received it in error, you are on notice of its status. Please notify
immediately by reply e-mail and then delete this message from your
system. Please do not copy it or use it for any purposes, or disclose its
contents to any other person: to do so could be a breach of confidence.
Breach of confidentiality

Preguntas similare

Leer las respuestas

#1 Pablo Bouzada
15/09/2005 - 11:58 | Informe spam
¿Has probado con APPEND FROM cFichero TYPE SDF?

Si los campos del cursor tienen todos una longitud de 10 caracteres se
añaden sin problemas. Si el tipo de datos es distinto de caracter puedes
convertirlos una vez cargados en el cursor.


Espero que te sirva de ayuda.

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
Respuesta Responder a este mensaje
#2 Rafael Vilar
15/09/2005 - 12:04 | Informe spam
No entiendo bien si después del primer campo hay un separador,...Por lo que
entiendo son tres campos de 10 caracteres cada uno y sin separador entre
ellos, o sea, cada fila del fichero está formada por una cadena de 30
caracteres y necesitas dividirla en 3 de tres y ponerlos en un cursor. Si es
así, éste código te puede servir.


Procedure LeeFichero
lparameters cFicheroFuente

local fn

create cursor mycursor (;
campo1 c(10), ;
campo2 c(10), ;
campo3 c(10) )

fn = fopen(cFicheroFuente)

do while !feof(fn)
cLine = fgets(fn)

insert into mycursor(;
campo1, ;
campo2, ;
campo3 );
values(;
left(cLine,10), ;
substr(cLine,11,10), ;
right(cLine,10) ;
)
enddo

= fclose(fn)
return



"Alfonso Lucas Carbonell" escribió en el mensaje
news:eF$

Tengo un fichero de texto plano con la siguente estructura
10 posiciones(1campo) y sin separador 2 campo de 10 posiciones y me
gustaria
cargarlo en un cursor.
Estoy un poco perdido.

Un saludo

____________________________________________________________________________
________________________

Este mensaje se envía desde Ges Seguros y Reaseguros S.A., está protegido
por la ley y puede contener secretos de empresa. Si lo recibiera por
error, por favor notifíquelo respondiendo al mensaje y bórrelo de su
sistema. Por favor, no lo copie o use para cualquier propósito o comunique
a
otras personas, si lo hiciese supondría ruptura de confidencialidad, esto
podría suponer una seria infracción legal, civil y penalmente perseguida
en
España y otros países. Gracias por su colaboración. Tel . 34 902 308 585

This e-mail is confidential and may well also be legally privileged. If
you
have received it in error, you are on notice of its status. Please notify
immediately by reply e-mail and then delete this message from your
system. Please do not copy it or use it for any purposes, or disclose its
contents to any other person: to do so could be a breach of confidence.
Breach of confidentiality




Respuesta Responder a este mensaje
#3 Alfonso Lucas Carbonell
15/09/2005 - 12:28 | Informe spam
Me ha servido, yo sabia que habia una forma muy rapida y sencilla.

Muchas Gracias Pablo.

"Pablo Bouzada" escribió en el mensaje
news:
¿Has probado con APPEND FROM cFichero TYPE SDF?

Si los campos del cursor tienen todos una longitud de 10 caracteres se
añaden sin problemas. Si el tipo de datos es distinto de caracter puedes
convertirlos una vez cargados en el cursor.


Espero que te sirva de ayuda.


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway

Respuesta Responder a este mensaje
#4 Alfonso Lucas Carbonell
15/09/2005 - 12:30 | Informe spam
Son dos campos de 10 posiciones son separador.
Me ha servido el APPEND FROM

Muchas gracias de todos modos, esta opción tambien es válida.

"Rafael Vilar" escribió en el mensaje
news:

No entiendo bien si después del primer campo hay un separador,...Por lo


que
entiendo son tres campos de 10 caracteres cada uno y sin separador entre
ellos, o sea, cada fila del fichero está formada por una cadena de 30
caracteres y necesitas dividirla en 3 de tres y ponerlos en un cursor. Si


es
así, éste código te puede servir.


Procedure LeeFichero
lparameters cFicheroFuente

local fn

create cursor mycursor (;
campo1 c(10), ;
campo2 c(10), ;
campo3 c(10) )

fn = fopen(cFicheroFuente)

do while !feof(fn)
cLine = fgets(fn)

insert into mycursor(;
campo1, ;
campo2, ;
campo3 );
values(;
left(cLine,10), ;
substr(cLine,11,10), ;
right(cLine,10) ;
)
enddo

= fclose(fn)
return



"Alfonso Lucas Carbonell" escribió en el mensaje
news:eF$
>
> Tengo un fichero de texto plano con la siguente estructura
> 10 posiciones(1campo) y sin separador 2 campo de 10 posiciones y me
> gustaria
> cargarlo en un cursor.
> Estoy un poco perdido.
>
> Un saludo
>
>


____________________________________________________________________________
> ________________________
>
> Este mensaje se envía desde Ges Seguros y Reaseguros S.A., está


protegido
> por la ley y puede contener secretos de empresa. Si lo recibiera por
> error, por favor notifíquelo respondiendo al mensaje y bórrelo de su
> sistema. Por favor, no lo copie o use para cualquier propósito o


comunique
> a
> otras personas, si lo hiciese supondría ruptura de confidencialidad,


esto
> podría suponer una seria infracción legal, civil y penalmente perseguida
> en
> España y otros países. Gracias por su colaboración. Tel . 34 902 308


585
>
> This e-mail is confidential and may well also be legally privileged. If
> you
> have received it in error, you are on notice of its status. Please


notify
> immediately by reply e-mail and then delete this message from your
> system. Please do not copy it or use it for any purposes, or disclose


its
> contents to any other person: to do so could be a breach of confidence.
> Breach of confidentiality
>
>
>
>




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida