Página 1 de 1

problema com indices

Enviado: 28 Ago 2006 09:17
por claudiocjr
Ola Pessoal

Tenho um sistema que funciona em rede, desenvolvido em Clipper
e utlizando indices CDX.

O meu problema seria na hora de indexar os indices.

Por exemplo, quando dá uma queda de energia, como poderia
fazer para que quando o sistema fosse reinicializado ele automaticamente
reindexe?

Primeiro teria que saber se nenhum outro usuário esta no sistema.
saber também se todos os usuarios que entraram no sistema e
sairam corretamente dele.

Outro problema também seria com a integridade dos indices
teria uma maneira de saber se os indices estão corretos?


grato

Claudio

Enviado: 28 Ago 2006 12:13
por alaminojunior
Olá meu caro, bom dia.

Em relação a sua 1ª pergunta:
Crie uma rotina que verifique, ao iniciar o programa, se existem os arquivos de indice, senão ele deverá criar.

Em relação a 2ª pergunta:
Esta rotina de verificação, ao notar que não existe algum dos arquivos, abre os bancos de dados (para reindexação) em MODO EXCLUSIVO ! Depois de terminada a reindexação, feche-os e reabra-os em modo shared.
As outras maquinas ao tentarem abrir os bancos e indices (EM MODO SHARED) não conseguirão, até os bancos estarem abertos em modo shared (Claro que vc deverá tratar os erros que irão que irão ocorrer, senão a execução do programa será quebrada)

A respeito de saber se os indices não estão corrompidos, não conheço nenhuma função propria do Clipper que faça isso. O que vc pode fazer, é ter um bom controle nas alterações, exclusões e inclusões, certificando-se de no momento destas edições, de que todos os indices envolvidos estão abertos. A maioria dos Corruption Detected se dá por causa de algum indice que não foi atualizado, por não estar aberto.

Certo Seo Claudio ?
Esta é metodologia que até hoje não me deixou na mão, talvez vc encontre outras opiniões a respeito. Espero ter dado uma luz. :)Pos

Enviado: 28 Ago 2006 14:17
por momente
Caros amigos,

Aproveitando o tópico, gostaria de saber se existe alguma diferença a não ser na sintaxe do seguinte:

Index on codigo to cliente
Index on codigo tag tag1

Valeu :)Pos

Enviado: 28 Ago 2006 15:09
por gvc
Index on codigo to cliente
- indexando pelo campo CODIGO para o arquivo CLIENTE.NTX

Index on codigo tag tag1
- indexando pelo campo CODIGO com o marcado tag1, mas não esta especificando o nome do arquivo CDX.

sobre os indices

Enviado: 29 Ago 2006 09:12
por claudiocjr
Obrigado pela Colaboração

SDS

Claudio