Estimado Eduardo:
Sugiero que la dbf destino, este diseñada con campos enteros para los números
sin decimales (hasta valores de 9 dígitos) o campos currency (Y) para números
mayores (siempre que no necesites mas de 4 decimales).
Esto reduce a la mitad los requerimientos de bytes de almacenamiento.
Los campos de texto, deberías tratar de determinar longitudes máximas, para
achicarlos al máximo posible.
Para campos de texto que tengan mucha variabilidad en su longitud, puede que
sea mejor meterlos en campos memo.
Saludos: Miguel
P.D. Un aporte mas a la confusión general.
Eduardo Lanaro <[EMAIL PROTECTED]> escribió: @font-face { font-family:
Cambria Math; } @font-face { font-family: Calibri; } @font-face {
font-family: Tahoma; } @page Section1 {size: 612.0pt 792.0pt; margin: 70.85pt
3.0cm 70.85pt 3.0cm; } P.MsoNormal { FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt;
FONT-FAMILY: "Times New Roman","serif" } LI.MsoNormal { FONT-SIZE: 12pt;
MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman","serif" } DIV.MsoNormal {
FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman","serif" }
A:link { COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99 }
SPAN.MsoHyperlink { COLOR: blue; TEXT-DECORATION: underline;
mso-style-priority: 99 } A:visited { COLOR: purple; TEXT-DECORATION:
underline; mso-style-priority: 99 } SPAN.MsoHyperlinkFollowed { COLOR: purple;
TEXT-DECORATION: underline; mso-style-priority: 99 } SPAN.EstiloCorreo17 {
COLOR: #1f497d; FONT-FAMILY: "Calibri","sans-serif"; mso-style-type:
personal-reply }
.MsoChpDefault { FONT-SIZE: 10pt; mso-style-type: export-only } DIV.Section1
{ page: Section1 } No Mariano, porque al fraccionar el txt en 16
txt de 1 millon de registro, he tomado cualquier txt de estos y siempre se
queda el en mismo registro, osea procesa el primer txt de 1 millon bien, pero
cuando paso el segundo me queda en ese registro.
----- Original Message -----
From: Mariano Cernadas
To: GUFA List Member
Sent: Wednesday, May 21, 2008 6:03 PM
Subject: [GUFA] Consulta
No será que en ese registro (el nº 262400 ) hay algún carácter raro y vfp
no sabe como procesarlo?
Espero te sirva
saludos
Mariano
----- Original Message -----
From: Gustavo Señoriño
To: GUFA List Member
Sent: Wednesday, May 21, 2008 5:47 PM
Subject: [GUFA] Consulta
No será que los archivos TXT de 1.8GB, al pasarlos a DBF y tener
longitud fija superan los 2GB?
----- Original Message -----
From: Eduardo Lanaro
To: GUFA List Member
Sent: Wednesday, May 21, 2008 4:43 PM
Subject: [GUFA] Consulta
Gracias por responder Carlos.
Si el SET TALK esta en ON, y el SET ODOMETER esta en 100, y en
VFP el archivo lo puedo abrir con modify command o modify file sin
problema, el tamaño de los archivos, ya que son dos, es uno de 1.72 gb y
el otro de 1.79 gb, si una manera seria fraccionandolo, pero es un
laburo tremendo, pero si no queda otra, te explico, porque ya me tome el
trabajo de fraccionarlo en archivos de 1 millon de registros cada uno,
luego hago el append from con el primer archivo no tengo problemas lo
guarda en el dbf, pero con el segundo toma hasta el registro 262400 y se
cuelga osea no corre el numero del registro, puede ser problema de
memoria ya que tengo 512 de ram, voy a probarlo en una pc con mas
memoria haber que hace.
Gracias.
----- Original Message -----
From: Carlos A. Perez
To: GUFA List Member
Sent: Wednesday, May 21, 2008 12:44 PM
Subject: [GUFA] Consulta
Que error te da? Que raro que se cuelgue, quizas sea
algo de la memoria. Si el archivo es más grande que 4 veces el tamaño
de tu RAM podes tener problemas. Como sabes que se te cuelga? Poné SET
TALK ON y fijate si el contador de registros avanza, pone SET ODOMETER
en 100 si no está por defecto. Si se cuelga igual, entonces es posible
que se haya alcanzado el limite de 2GB en espacio de tablas. Para ver
si esto es posible, pero con baja probabilidad diría yo, decime el
tamaño de tu archivo de texto. Si está cerca de los 2GB, entonces
existe la posibilidad de que se cuelgue por este problema. Este tema
es más bien complicado, y no tiene una solución cierta excepto dividir
el archivo DBF en dos o más pedazos.
Si no es este el problema entonces podrías intentar parsear
el archivo vos mismo. Con DO WHILE NOT FEOF()..ENDDO haces un lazo
para ir recorriendo el archivo .TXT, lees de a una línea por vez a
memvar, y después capturas los campos con funciones de cadenas, y los
insertas con INSERT FROM. Como son 16 millones de registros, estimo
que va a estar varias horas, pero como la memoria solo se está
consumiendo en mantener una sola línea (la actualmente procesada) no
deberías tener problemas (notá el condicional).
No coloques ningun índice a la DBF, dejala sin clave, sin
índices, solo la DBF, para que la carga sea lo más rápida posible.
Asegurate de que los datos están correctamente encolumnados en tu
archivo de texto.
Si necesitas partir el archivo de texto, te recomiendo el
editor del viejo y querido FoxPro-DOS. Con modify file
nosotros hemos abiertos .TXT de 1.6GB e (increíble) pudimos
seleccionar la mitad del archivo (colocar el cursor en el inicio de
selección, luego pulsar SHIFT y NO soltarlo, luego con scrollbar del
editor seleccioná mas o menos la mitad del archivo, luego hacé clic
donde querés que termine la selección y hecho esto recien soltás
SHIFT), luego pulsar la tecla DELETE para que elimine o bien la parte
superior o la inferior, y luego mandar a Save As. Se toma su tiempo,
pero lo hace, FoxPro-DOS tiene punteros de 32 bits en las cadenas de
caracteres (soportaba hasta 2GB en una variable de cadena), y por lo
tanto podía editar (cortar, copiar,pegar) archivos de texto de este
tamaño. No me consta que VFP pueda hacer lo mismo, pero si queres
probalo (no tengo ahora un archivo grande para comprobarlo).
Suerte
Carlos
De: [email protected] [mailto:[EMAIL
PROTECTED] En nombre de Eduardo Lanaro
Enviado el: Miércoles, 21 de Mayo de 2008 09:29 a.m.
Para: GUFA List Member
Asunto: [GUFA] Consulta
Hola a todos:
Es la primera vez que consulto a la lista, mi
pregunta es la siguiente, tengo un archivo (txt) que necesito pasar a
dbf, éste archivo contiene 16 millones de registros, lo intente hacer
con append from pero se me cuelga la pc, habría alguna manera de
pasarlo, sin tener que fraccionarlo.
Muchas Gracias.
Eduardo Lanaro.
---------------------------------
Tarjeta de crédito Yahoo! de Banco Supervielle.Solicitá tu nueva Tarjeta de
crédito. De tu PC directo a tu casa.
Visitá www.tuprimeratarjeta.com.ar