Clipper/FiveWin - NTX de base Grande

 
Vista:

NTX de base Grande

Publicado por Luis (18 intervenciones) el 07/10/2008 00:05:33
Saludos a todos

Espero me puedan dar una mano con un aplicativo bastante antiguo de clipper summer 87 que tiene un archivo dbf que ha crecido a cerca de 6 millones de registros y al cual al querer generar un indice ntx desde el dbu.exe me parece que se queda pegado ya lleva mas de 7 horas de indexacion y aun no termina
la clave es un campo chr(60) ,

Alguna idea de que esta sucediendo y como solucionarlo

A la espera de su ayuda

Gracias

Luis
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:NTX de base Grande

Publicado por marcelo (1 intervención) el 07/10/2008 01:08:43
tengo yo tb todavia algunas aplicaciones en Summer 87, archivos de casi 3 millones de registros y con mas de 100 campos, reindexo con varios indices y con varias claves en cada indice, pero no puede demorar tanto, debe ser otro el problema, tal vez muchas aplicaciones abiertas, poca memoria, es imposible con esos datos poder diagnosticar cual es el problema.
Saludos
(y no olviden que FW no corre en 32 bits)
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:NTX de base Grande

Publicado por Gabriel Pascual (913 intervenciones) el 07/10/2008 02:28:44
Hay que mirar varias cosas:

1) El fichero SIN INDICE ¿ se puede abrir ?

2) Si no se puede abrir entonces hay que mirar el tamaño del fichero cuando ocupa en disco duro, si tiene campos memos o registros borrados es buena idea hacer un pack de la tabla, y luego un Copy to otroarchivo.dbf para reciclar el espacio ocupado por los campos memos y que esta desperdiciado.

3) Si el fichero esta en una unidad remota NO CONSTRUYAS EL INDICE DESDE UN PUESTO DE TRABAJO RECONSTRUYELO EN EL SERVIDOR. ¿ porque ?

Porque los DBFs se copian a las estaciones de trabajo, y una operacion de indexacion, hace en realidad un DO WHILE NOT EOF() analizando cada uno de los registros para crear el indice, y luego el fichero NTX se va actualizando REGISTRO POR REGISTRO si lo haces desde un puesto de trabajo, la operacion de copiado del puesto al servidor se realiza 6 millones de veces, razón por la cual viene la demora en la generacion del indice.

Ejecuta el DBU en el servidor y genera el indice ahí y veras que la regeneracion demora mucho menos que haciendolo desde un puesto, eso si de que va a demorar, va a demorar pero no tanto como 7 horas.

Si fuera Clipper 5.x o (x)Harbour te recomendaría usar Advantage Database Server, y entonces si te garantizo que el indice lo hace en menos de 5 minutos

HUMMMMMM ahora que lo pienso, si podrias generar ese indice mas rapido, usando el servidor local de ADS. haz lo siguiente:

Entra en

http://devzone.advantagedatabase.com/dz/content.aspx?key=20&Release=12&Product=8

Ahi podras descargar el Advantage Data Architech, mejor conocido como ARC, es una especie de DBU visual gratuito, instalalo en tu ordenador.

Desde el menu pon:

File / Open Table

Seleccion la tabla que quieras abrir y no olvides indicar que es del tipo DBFNTX. MUY IMPORTANTE marcar en el tipo de servidor LOCAL, y dale al boton de aceptar.

Aparecera una ventana con una rejilla con todo los datos de tabla, luego con el ratón da click derecho sobre cualquier renglón y aparece un menú, selecciona la ultima opcion que es PROPERTIES.

Aparece otra ventana con un folder, el primero tiene la estructura de la tabla, esa no la toques, selecciona la segunda pestaña que dice ADDITONAL INDEX DEFINITION.

Presiona el boton de ADD INDEX, se te pedira darle un nombre al indice (es el nombre del fichero.NTX o lo que pones en el INDEX ON ..... TO <fichero>, luego selecciona el campo sobre el cual quieres generar el indice donde dice INDEX FIELD OR EXPRESSION y listo,

Dale al boton de OK y el indice debe generarse muy rapido, digamos en unos 3 o 4 minutos.

El indice generado es un NTX 100% compatible con Clipper deberá funcionar sin problemas.

Dejanos saber si te funciona
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:NTX de base Grande

Publicado por Luis (18 intervenciones) el 07/10/2008 18:48:20
Gracias a ambos; Gabriel pondre en practica lo indicado y les hare saber del resultado

Muchas Gracias!!
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:NTX de base Grande

Publicado por Luis (18 intervenciones) el 07/10/2008 22:24:19
Funciono corectamente y es un balazo!!.
Muchas gracias a ambos por su tiempo y a ti Gabriel por tu mensaje tan explicativo, y de buenos resultados

Saludos

Luis
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