use algo shared newUso el xHarbour que nos proporciona Antonio Linares..
Espero que alguien pueda darme una orientacion..
Saludos
use algo shared newde cuantos campos se conforma tu base.dbf ?
tienes campos memos ?
usas ntx o cdx ?
saludos..
11 campos tiene la bd, 600,000 son los registros, utilizo CDX con xHarbour, pero como te comento solo la primera vez que se abren esas dbf tarda alrededor de 7 segundos, y si la vuelvo a abrir de nuevo, lo hace casi inmediatamente...
es un caso para la araña definitivamente..
Gracias
ahh se me olvidaba no tiene campos memo..
Saludos
Luis Fernando:
Nomas por no dejar, y si antes de abrir la DBF por primera vez primero cierras todas las áreas abiertas ???
Saludos
puedes ser un poquito mas especifico con codigo para ver como haces tu proceso de apertura antes y despues...
Saludos
Hola derpipu
Una idea fuera del FWh.. que me paso a mi con unas dbf. grandess.. el motivo fue que el disco duro donde estan los datos este muy fragmentado, sobre todo si la base de datos es grandees.. pues a la primera se demora cargar el archivo . las otras veces los mantiene en cache y es mas rapida.. prueba desfragmentar el disco y probar como va.
suerte
lubin
Solo por curiosidad, no sera que cuando la abres por primera ves estaras haciendo una generacion de indices...y por eso es lenta...yo lo hago asi porque el sistema aun no esta en red....como dice el colega....coloca algo de codigo a ver si asi te ayudamos mas.
probablemente tengas muchos deleted...
necesitaras un PACK
function net_use( pcBaseDatos, plExclusivo, pcAlias, pcRuta, plOkDbf )
Local lContinuar := .F.
local oError
local nInicio := seconds()
default pcAlias := cFileNoExt(pcBaseDatos), plExclusivo := .F., pcRuta := "", plOkDbf := .F.//, pcBaseDatos := cFileNoExt(pcBaseDatos)
if plOkDbf
if ! lOkDbf( pcRuta + pcBaseDatos ); return(lContinuar); endif
endif
if plExclusivo
use (pcRuta + pcBaseDatos) alias (pcAlias) exclusive new
else
use (pcRuta + pcBaseDatos) alias (pcAlias) shared new
endif
if ! netErr()
lContinuar := .T.
(pcAlias)->(ordSetFocus(1))
else
MsgStop("La base de datos: " + Upper(pcBaseDatos) + ".DBF, no puede ser procesada" + CRLF +;
"llame a su asesor de Informatica..." , oApp:cEmpresa)
endif
// ? seconds() - ninicio
return(lContinuar)Lo mas chistoso es que solo la primera vez que la abro y en algunas ocasiones estoy viendo tarda esos 7 segundos y ya despues lo hace inmediato, incluso esa bd la abro con el dbu y la abre rapidisimo..
La dbf esta en el mismo equipo o en un servidor? Si esta en un servidor, prueba deshabilitando los optimistics locks.
Un saludo
derpipu wrote:Hola a todos, primero que nada les agradezco sus amables comentarios, les comento que el comportamiento es igual en local y en red, entonces yo creo que va a ser mas factible lo que me comentan que posiblemente sea mi antivirus, uso el Kaspersky Internet Security, y creo que las estaciones que la usan el mismo antivirus...
Saludos
Noticia de Ultima Hora, deshabilite mi Antivirus y funciono rapidisimo... al parecer el antivirus esta al tanto de todos y cada uno de los archivos que se abren en mi equipo..
les agradezco a todos por su tiempo...
Gracias
Luis,
Nosotros con Kaspersky, deshabilitamos siempre el control a nuestro programa. Eso hace que no controle nada de lo que nuestro programa hace o abre. Hay que hacerlo en cada estacion donde tengas instalado el antivirus y uses tu programa.
En exclusiones o algo asi en español lo deberias encontrar, y ahi le pones todo lo que no quieres que el antivirus controle.
Saludos