reindexar ¿método, aplicación...?

372 views
Skip to first unread message

leonardo trujillo

unread,
Aug 19, 2012, 10:11:00 PM8/19/12
to grupo google vfp
bueno, sigo intrigado con el tema.
He estado viendo que hay programadores que guardan sus índices en tablas (dbf_name, tag_name, key_name, tag_unique, etc).
¿esta info se saca de las tablas con comandos de vfp?
¿cómo se usan para regenerar los índices?
saludos y gracias

Edgar Acevedo

unread,
Aug 19, 2012, 10:41:08 PM8/19/12
to publice...@googlegroups.com
Mediante la funcion  ATAGINFO() puedes extraer toda la información de índices que desees de una tabla y guardarla en un array.

Una vez extraída la información puedes usar el comando INDEX TAG para reconstruír los índices y sus defininiciones obtenidos mediante el  ATAGINFO().

Salu2,


Edgar



--
 
 
 

Hitiel Hernández

unread,
Aug 19, 2012, 10:57:09 PM8/19/12
to publice...@googlegroups.com

muy buena acotación, esos comandos no me los sabía, todo este tiempo vengo haciendo las cosas a pata

--
 
 
 



--
Sabiduría ante todo; adquiere sabiduría

leonardo trujillo

unread,
Aug 19, 2012, 11:21:46 PM8/19/12
to publice...@googlegroups.com
impecable, ahora voy entendiendo.
cuando quiero "reconstruir los índices" ¿primero tengo que borrarlos? ¿borrando el archivo de índices?
gracias


--
 
 
 

Edgar Acevedo

unread,
Aug 19, 2012, 11:47:22 PM8/19/12
to publice...@googlegroups.com
Borrando todos los tags de un CDX es suficiente.  Esto lo haces con el comando DELETE TAG ALL.  Luego procedes a hacer de nuevos los índices mediante el INDEX TAG.

Pero MUY RARA VEZ necesitarás de esto...  En 22 años de trabajo, solo recuerdo haber tenido problemas de índices unas 8 veces, y EN 7 DE ELLAS, el problema de los índices se arregló en unos pocos minutos.  Lo que tomó mas tiempo arreglar fueron las causas de la corrupción de los índices (y que no son culpa de fox ni de la aplicación): 
- Daños en el cableado de la red
- Daños en el fluído eléctrico
- UPS defectuoso que no entró a trabajar en un "apagón".
- Se quemó la fuente de poder del computador y el equipo se apagó
- Usuarios negligentes que en vez de cerrar normalmente la aplicación, apagaban el equipo desde el switch de arranque (cuando las fuentes de poder NO eran del tipo ATX y al apachar el switch de encendido sencillamente se apagaban en frío).  En general: negligencia por parte de usuarios indolentes y mediocres.

Tuve el caso de una persona en una empresa que apagaba el equipo a propósito para que se dañaran los índices a fin de "sabotear" el sistema.  Era un empleado de una farmacia que robaba medicamentos y que para que no cuadraran los inventarios, saboteaba el sistema a propósito.  Como el dueño de la farmacia tenía sus dudas, lo reté a que pusieramos una cámara oculta y de esa forma pudimos descubrir al maleante y comprobar que el sistema no era el del problema.

Salu2,


Edgar



--
 
 
 

Adrianyuc

unread,
Aug 20, 2012, 12:05:32 AM8/20/12
to publice...@googlegroups.com
Mmm... esta funcion se puede aplicar cuando el indice esta dañado?

Hitiel Hernández <hiti...@gmail.com> escribió:

>muy buena acotación, esos comandos no me los sabía, todo este tiempo vengo
>haciendo las cosas a pata
>
>El 19 de agosto de 2012 20:41, Edgar Acevedo <aper...@gmail.com> escribió:
>
>> Mediante la funcion ATAGINFO() puedes extraer toda la información de
>> índices que desees de una tabla y guardarla en un array.
>>
>> Una vez extraída la información puedes usar el comando INDEX TAG para
>> reconstruír los índices y sus defininiciones obtenidos mediante el
>> ATAGINFO().
>>
>> Salu2,
>>
>>
>> Edgar
>>
>>
>> El 19 de agosto de 2012 20:11, leonardo trujillo <
>> trujillo...@gmail.com> escribió:
>>
>> bueno, sigo intrigado con el tema.
>>> He estado viendo que hay programadores que guardan sus índices en tablas
>>> (dbf_name, tag_name, key_name, tag_unique, etc).
>>> ¿esta info se saca de las tablas con comandos de vfp?
>>> ¿cómo se usan para regenerar los índices?
>>> saludos y gracias
>>>
>>> --
>>>
>>>
>>>
>>>
>>
>> --
>>
>>
>>
>>
>
>
>
>--

>*Sabiduría ante todo; adquiere sabiduría*
>
>--
>
>
>

mpulla

unread,
Aug 20, 2012, 9:45:44 AM8/20/12
to publice...@googlegroups.com
Hola Caterva.

En portafox existe varias rutinas para reindexar, te paso un link.

http://www.portalfox.com/index.php?name=News&file=article&sid=2352&mode=nested&order=0&thold=0

Saludos.
Mauricio

Guillermo MDQ

unread,
Aug 20, 2012, 10:07:08 AM8/20/12
to publice...@googlegroups.com
No utilices el comando REINDEX, lo mejor es borrarlo y crearlo de nuevo con  INDEX ON, sobre todo si sabes que el indice puede estar corrupto o dañado.

Saludos
Guillermo

Norberto

unread,
Aug 20, 2012, 12:38:09 PM8/20/12
to publice...@googlegroups.com
Y recuerden que en ...\tools\gendbc tienen el gendbc.prg para extraer toda la informacion de como regenerar los indices
Reply all
Reply to author
Forward
0 new messages