O.T. velocidad de ADS LOCAL con archivos ADT

O.T. velocidad de ADS LOCAL con archivos ADT

Postby Marcelo Via Giglio » Fri Feb 10, 2006 4:31 pm

Holas,

una duda pero hoy realmente me quede preocupado al hacer un ciclo sobre un archivos ADT y este tardo minutos sobre 10000 registros, un ejemplo tan simple como este

dbf -> ( DBGoTop() )
DO WHILE ! dbf -> ( EOF() )
dbf -> fielld1 := dbf -> field2
dbf -> ( DBSkip() )
ENDDO

nada mas que eso y me ponia a dormir, sera que esto es normal o estoy haciendo algo mal, o hay alguna alternativa para que esto vuele como con los DBFCDX nativos
comentarios?? Rene?

saludos

Marcelo
Marcelo Via Giglio
 
Posts: 1065
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Postby R.F. » Fri Feb 10, 2006 5:42 pm

Como esta tu archivo de configuracion ADSLOC32.CFG ?
Saludos
R.F.
R.F.
 
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Postby Marcelo Via Giglio » Fri Feb 10, 2006 6:37 pm

Rene,

gracias por el interes, abajo adjunto el mencionado archivo de configuracion que esta en el mismo directorio de la aplicacion (le quite parte de los comentarios para bajar el peso del mensaje)

No se que podria ser, espero tengas alguna idea

saludos y gracias

Marcelo


[SETTINGS]
; Advantage Local Server configuration file

; Number of Connections
; Default = 20; Range = 1 - No upper limit
CONNECTIONS=20
;
; Number of Tables
; Default = 50; Range = 1 - No upper limit
TABLES=50
;
; Number of Index Files
; Default = 75; Range = 1 - No upper limit
INDEXES=75
;
; Number of Data Locks
; Default = 500; Range = 1 - No upper limit
LOCKS=500
;
; Maximum Size of Error Log (in KBytes)
; Default = 1000 KBytes; Range = 1 KByte - No upper limit
ERROR_LOG_MAX=1000
;
; Error Log and Assert Log Path
; Default = C:\
ERROR_ASSERT_LOGS=
;
ANSI_CHAR_SET=
;
OEM_CHAR_SET=
;
; Local File Flush Frequency (in milliseconds)
; Default = 20000 ms (20 seconds); Range = 0 ms - No upper limit
FLUSH_FREQUENCY=20000
;
LOWERCASE_ALL_PATHS=
Marcelo Via Giglio
 
Posts: 1065
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Postby Marcelo Via Giglio » Fri Feb 10, 2006 7:14 pm

Mas pistas,

si utilizo SQL, y creo primero una tabla temporal la cosa va mucho mas rapido, esto es un ejemplo

AdsConnect( ".\data\" ,1)
adsRightsCheck( .F. )

Select 100
ADSCreateSQLStatement("SQLarea",3)

AdsExecuteSqlDirect( " select * into #temo from dbf " )
sqlarea -> ( DBCLOSEAREA() )
ADSCreateSQLStatement("SQLarea",3)
AdsExecuteSqlDirect( " update #temp set field1=field2" )


esto va miles que digo millones de veces mas rapido

que raro?????????? creo que debere escribir al foro de xHarbour, solo que mi problema sera que no podre actualizarme con el ultimo xHarbour creo ya que utilizo FWH 2.6 de abril 2005

saludos
Marcelo Via Giglio
 
Posts: 1065
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Postby Marcelo Via Giglio » Mon Feb 13, 2006 3:09 pm

Holas,

he solucionado el problema, para la gente que le interese, el problema se ocasiona cuando uno hace uso de ARC para importar tablas DBF a CDX, ya tuve prioblemas con campos que tenian espacios al final, la importacion trunca esta informacion.

Conclusion, no utilizar ARC para importar tablas, mejor hacerlo a mano

saludos y gracias

Marcelo
Marcelo Via Giglio
 
Posts: 1065
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 49 guests

cron