Clipper/FiveWin - indexar sin atrasar a los demas

 
Vista:

indexar sin atrasar a los demas

Publicado por jose (9 intervenciones) el 15/08/2004 20:41:17
le estoy dando mantenimiento a un sistema viejo hecho en clipper 5.3 y se le han agregado unos reportes nuevos, a lo que ya existes, y necesito sacar unos reportes, ya para hacerlos, deseo indexar los pedido asi, use FILE1 luego index on orden+codigo to temporal1 for fecha>=esto and fecha < estootro entonces luego saco el el reporte a travez de ese indice, pero como es una aplicacion en red donde muchas personas estan usando ese archivo, al indexar debo de lockear ese file1 y eso atrasa a los demas usuarios, como puedo indexar por registro sin atrasar a los demas, ?
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:indexar sin atrasar a los demas

Publicado por Marcelo (218 intervenciones) el 16/08/2004 13:17:39
Hola, y no podes hacer una copia temporal de los registros que necesitas?. entonces, si lo bajas al disco local ahi podes indexarlos tranquilamente. Saludos.

Marcelo
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:indexar sin atrasar a los demas

Publicado por Néstor (39 intervenciones) el 16/08/2004 23:18:25
Hola. Otra posibilidad es hacer un Copy to Temporal1 for ....etc. En este caso Temporal1 se crea en forma Exclusiva. Una vez creado puedes generar el indice en Temporal1, sin necesidad de atrasar a los demás usuarios.

Espero te sirva, Néstor
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:indexar sin atrasar a los demas

Publicado por Jose Lopez (49 intervenciones) el 17/08/2004 15:58:43
Se me ocurren algunas cosas.

Segun la guia de Norton el comado USE puede soportar 15 indices maximo asi que si tus nuevos reportes son muy usados a menudo y/o por mucha gente creo que
incluir un indice nuevo por fecha en las rutinas que llenan las bases podria ser muy conveniente. La validacion del rango de fechas lo fijaria el usuario a la hora de hacer el reporte.

Si el reporte solo es hecho por una persona a la vez y el indice segun me dices no esta abierto por ningun otro usuario perfectamente puedes generarlo sin necesidad de bloquear la base aunque lo este usando todo el mundo.
Si el reporte puede ser hecho por mas de una persona a la vez, ahi si habria problema porque el indice seria abierto/bloqueado
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:indexar sin atrasar a los demas

Publicado por Jose Lopez (49 intervenciones) el 17/08/2004 16:00:55
por el primero que quisiera generar el reporte y un segundo usuario no podria volverlo a generar. La solucion seria usar el nombre de usuario si estas usando Netware para el nombre de este indice temporal (jose.ntx) o generar un numero aleatorio digamos de 7 digitos con una letra precediendo el numero (t0395843.ntx) como nombre del indice temporal. Para no dejar una gran cantidad de estos indices se borraria una vez finalizado el reporte.

La otra opcion seria no crear un indice sino hacer un barrido de la base y extraer la informacion que el reporte requiere. Suena a un proceso mas lento pero habria que sopesar el tiempo de duracion de indexar versus recorrer la base.

Jose
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