pauloaraujo Posted June 27, 2005 Report Share Posted June 27, 2005 Vagner, Para não misturar com o outro tópico, que o problema pode ser outro, resolvi abrir este separado. Você disse que 98% dos casos de corrupção de Ãndices são causados por um REPLACE num campo cujo Ãndice esteja em foco e que a solução seria como no exemplo abaixo: // na indexação USE ARQUIV1 INDEX ON CODIGO TAG 01 TO IARQUIV1 INDEX ON NOME TAG 02 TO IARQUIV1 INDEX ON CIDADE TAG 03 TO IARQUIV1 SET INDEX TO IARQUIV1 // na hora do replace DBSETORDER(2) && mudar foco para nome REPL CODIGO WITH wVarCodigo DBSETORDER(1) && voltar foco para codigo REPL NOME WITH wVarNome REPL CIDADE WITH wVarCidade DBCOMMIT() Desculpe-me a insistência, mas é que 98% é um número muito forte. Já havia pesquisado em tudo que é lugar no Fórum sobre o assunto e nunca haviam escrito isto (pode ter escapado). Sempre colocaram para se fechar arquivos e Ãndices após gravação; mudar LNK; forma de abrir arquivos e Ãndices; agregar LIBs, OBJs, etc. É só voce dizer SIM com firmeza que começo a mudar meus fontes agora. Um abraço Paulo/CONTATO SISTEMAS Clipper53b / FW26 / Blinker70 Ajudar é um prazer, agradecer é uma obrigação Quote Link to comment Share on other sites More sharing options...
vilian Posted June 27, 2005 Report Share Posted June 27, 2005 Olá Paulo, Faço um pouco diferente do vagner, mas no final da quase a mesma coisa: // na indexação USE ARQUIV1 INDEX ON CODIGO TAG 01 TO IARQUIV1 INDEX ON NOME TAG 02 TO IARQUIV1 INDEX ON CIDADE TAG 03 TO IARQUIV1 SET INDEX TO IARQUIV1 // na hora do replace DBSETORDER(0) && desativar os indices REPL CODIGO WITH wVarCodigo REPL NOME WITH wVarNome REPL CIDADE WITH wVarCidade DBSETORDER(1) && ativar os indices DBCOMMIT() Não sei quantos % isso provoca de melhora na redução de danos a indices, mas que a ocorrência diminue isso pode ter certeza ! Vilian F. Arraes Vilian@vfatec.com.br citação:id=quote>id=quote> Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted June 27, 2005 Author Report Share Posted June 27, 2005 Vilian, Boa Tarde. Tão longe mas sempre ligado, né?? 1ªmente, em uso nas gravações mais pesadas aquela função que tem no seu livro, CLRBUFFER(), página 93, com uma melhora considerável na estabilidade. Agora, você está vindo com mais uma novidade, além daquela do Vagner, e essa não tá no livro. Rapaz, ainda tenho alguns focos de corrupção de Ãndices, provavelmente por má configuração de rede. Tenho essa noção porque o mesmo sistema está instalado em vários clientes: estável na grande maioria (um deles com pelo menos 100 estações) e com alguma instabilidade em poucos (quase sempre os mesmos). Só uma dúvida, os Ãndices são atualizados mesmo estando desabilitados??? Toda ajuda é importante, pois não tenho como configurar rede fora do Estado de São Paulo. Um abraço e obrigado por responder Paulo/CONTATO SISTEMAS Clipper53b / FW26 / Blinker70 Ajudar é um prazer, agradecer é uma obrigação Quote Link to comment Share on other sites More sharing options...
vilian Posted June 27, 2005 Report Share Posted June 27, 2005 Olá Paulo, Sim, os indices continuam sendo atualizados normalmente quando você executa um DbSetOrder(0). A única diferença é q não temos nenhum ativo no momento da gravação no dbf. Mas em redes tão grandes (100 estações) recomendo fortemente migrar para ADS. É simples, rápido e seguro. A corrupção de indices vai desaparecer por completo. Abraços, Vilian F. Arraes vilian@vfatec.com.br Quote Link to comment Share on other sites More sharing options...
marcelo Posted June 27, 2005 Report Share Posted June 27, 2005 Ola Paulo Há muito tempo não tenho corrupção de Ãndice na hora de gravar facó o seguinte Do While !Rlock() Enddo Repla .....with ... dbcommit() unlock Yrece Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted June 27, 2005 Author Report Share Posted June 27, 2005 Vilian, Por incrÃvel que pareça, nesse cliente com 100 estações eu não tenho problema algum. Além do que ele é o mais pão-duro de todos. Como você acha que ele ficou rico??? ADS em US$??? A sua lógica e a do Vagner é a mesma. Vou mandar bala. Muito obrigado, mais uma vez. Um grande abraço. Yrece, Eu também faço a mesma coisa que você, mas, com o MESMO SISTEMA em vários clientes, ocorrem erros de corrupção em alguns e na maioria não. Percebi que à s vezes dando uma pequena alterada no fonte, se pode MINIMIZAR um problema que, não tenho dúvida, é fruto de virus, placas de rede, cabos, usuários sacanas, etc. Não tem lógica o mesmo sistema não dar problema num cliente com 100 estações (sem ADS) e dar problema num de 15. Um abraço Paulo/CONTATO SISTEMAS Clipper53b / FW26 / Blinker70 Ajudar é um prazer, agradecer é uma obrigação Quote Link to comment Share on other sites More sharing options...
jef2_tim Posted June 28, 2005 Report Share Posted June 28, 2005 Vilian, aqui de belem... ??? Um Xharbraço Pra Todos Os Amigos. Uso Fwh 2.5 (xharbour 0.99) e Xmate Para Compilar Quote Link to comment Share on other sites More sharing options...
jef2_tim Posted June 28, 2005 Report Share Posted June 28, 2005 Po.. vi no perfil dos membros la.. legal.. tbm sou de belem... estive ae com o marcus estes dias... Mas ainda nao tinha te visto aqui... legal.. xharbraco ae pro c ... Um Xharbraço Pra Todos Os Amigos. Uso Fwh 2.5 (xharbour 0.99) e Xmate Para Compilar Quote Link to comment Share on other sites More sharing options...
Vitor Reis Posted July 8, 2005 Report Share Posted July 8, 2005 galera, todos estao certos.. cada um no seu ponto.. nao gravar no campo do indice em foco, destivar todos os indices antes de gravar com o dbsetorder(0), ou ads... claro que o ads eh o melhor de todos, eh um verdadeiro client server, porem muito caro, nunca houve uma melhoria neste software para ser acessivel a nos programador, que continuamos com o xbase, mas o meu problema nem eh corrupcao de indices, e sim de repente o seek nao encontra determinada chave, ate que refassa os indices.. depois de ler tudo sobre isto, estou achando que eh problema de rede... nem erro de configuracao... e sim.. em alguns segundos na hora da gravacao..a rede falha... ai o indice nao eh atualizado.. pois como foi dito aqui.. um cliente roda normal e outro da problema... isto eh.. chego a conclusao de que seria muito mais falha momentania da rede ... o ads funciona muito bem neste caso tambem, pois como ele eh client/server.. o indice esta' sob controle com o servidor pena que eh tao caro... na verdade o que precisamos eh isto.. que o servidor mantenha o indice nele.. isto que eh dificil fazer.. sou analista de Microsiga, e eles tem o proprio Client/Server.. nao sei como fizeram isto..mas tem.. tanto que nas estacoes, podemos abrir varios secoes do Siga sem ter problema de files=255.. alias nem precisa disto no config.sys.. isto eh que precisamos.. client/server.. se alguem tiver alguma noticia de como fazer isto.. tudo estara resolvido... infelismente, precisamos manter o files=255 no maximo, enquanto usar dbf.. trabalhei muito com ads...eh muito bom.. e rapido vitor s.b.c Quote Link to comment Share on other sites More sharing options...
jdmoura Posted July 10, 2005 Report Share Posted July 10, 2005 Desculpe pessoal,´é que eu estou com um problema muito grande. Tenho um sistema em clipper 5.2 de Controle De Salão de Cabeleireiro e não consigo faze-lo imprimir em uma impressora lexmark USB, e estou corendo o risco de perder minha cliente para um sistema em Delphi, de um concorrente meu daqui de Londrina - Pr, pesso ajuda por favor, pois já estou providencianto, também o livro e um cd de demonstração do five win para transformar meus sistemas embiente Windows. jdmoura ou jdemourasilva@yahoo.com.br Quote Link to comment Share on other sites More sharing options...
vilian Posted July 10, 2005 Report Share Posted July 10, 2005 Olá jef2_tim, Sim, sou de Belém e se um de seus hobbys é o karatê, é bem provável que já tenhamos nos cruzado em alguns campeonatos. Não, não sou karateka! Sou um desses pais "corujas" q ficam torcendo por seus filhos em campeonatos. Estou sempre acompanhando o fivewin.com.br. Apesar de não ser um dos seu menbros mais ativos. Abraços, Vilian F. Arraes Quote Link to comment Share on other sites More sharing options...
Burai Posted July 12, 2005 Report Share Posted July 12, 2005 Falar em corrupção de Ãndices, não os tenho já há muito tempo (pelo menos não dá a mensagem), entretanto estou com um problema sério de corrupção de arquivos ADT. Uso o FW + xHarbour (ambos de abril/05), converti meu sistema que usava DBF/CDX para os maledetos ADT/ADI. Quando cai a energia durante uma gravação o arquivo que estava gravando já era. Corrompe! Pra abrir só com um utilitário que o Toninho me passou (mesmo assim nem sempre funciona). A solução que me propõem é colocar nobreak no servidor, mas se eu falar isso para os clientes, a maioria vai querer me bater, porque com DBF quando isso ocorria (a queda de energia) era so entrar no sistema de novo e reorganizar os indices, já com ADS o arquivo vai pro beleléu... [ ]'s Maurilio FWH 2.6 + xHarbour comercial + SQLRDD Quote Link to comment Share on other sites More sharing options...
vilian Posted July 12, 2005 Report Share Posted July 12, 2005 Caramba, Apanhar por recomendar um no-break no servidor ! essa eu nunca tinha visto. Esse cliente merece ficar de castigo no milho! Não conheco versão alguma de banco de dados q consiga o "milagre" de garantir a integridade dos arquivos o servidor "caindo". Mesmo o DBF, não raro ficava cheio de lixo, qdo não danifica por completo. Boa sorte, Vilian F. Arraes Quote Link to comment Share on other sites More sharing options...
Burai Posted July 12, 2005 Report Share Posted July 12, 2005 É, Vilian, os caras não querem investir, não querem fazer backup. De maneira geral todos se comportam assim. Mais o problema maior é o seguinte: O sistema estava em FW 16 bits até fevereiro, se caia a energia e perdia alguns registros isso não impedia do arquivo ser aberto via DBU e os registros "bichados" serem excluÃdos. A partir de fevereiro instalei a versão 32 bits com xHarbour e arquivos ADT, e quando ocorre queda de energia, os arquivos não abrem mais, de jeito nenhum. E por isso que digo se eu pedir pra todos compraram no-break vão dizer "ué, mas não mudou de 16 pra 32 bits pra melhorar?", ou "só porque mudou de versão vou precisar comprar mais equipamentos" ou algo assim... [ ]'s Maurilio Quote Link to comment Share on other sites More sharing options...
betovsp Posted December 19, 2006 Report Share Posted December 19, 2006 citação:Olá Paulo, Faço um pouco diferente do vagner, mas no final da quase a mesma coisa: // na indexação USE ARQUIV1 INDEX ON CODIGO TAG 01 TO IARQUIV1 INDEX ON NOME TAG 02 TO IARQUIV1 INDEX ON CIDADE TAG 03 TO IARQUIV1 SET INDEX TO IARQUIV1 // na hora do replace DBSETORDER(0) && desativar os indices REPL CODIGO WITH wVarCodigo REPL NOME WITH wVarNome REPL CIDADE WITH wVarCidade DBSETORDER(1) && ativar os indices DBCOMMIT() Não sei quantos % isso provoca de melhora na redução de danos a indices, mas que a ocorrência diminue isso pode ter certeza ! Vilian F. Arraes Vilian@vfatec.com.br citação:id=quote>id=quote> id=quote>id=quote>Olá Pessoal, minha dúvida é o seguinte, eu travo o registro antes ou depois de desativar os Ãndices na alteração do mesmo. Abraços. Beto Msn: betovsp@hotmail.com Skype: betovsp Alternativo: betovsp@terra.com.br CL53B + FW2.0d + @ SAY/GET + BLINKER 7 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 19, 2006 Report Share Posted December 19, 2006 Olá Pessoal, minha dúvida é o seguinte, eu travo o registro antes ou depois de desativar os Ãndices na alteração do mesmo. Abraços. Beto QUANDO CHEGAR NO REPLACE, TRAVE O REGISTRO. GRAVOU... DESTRAVE O REGISTRO. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
betovsp Posted December 19, 2006 Report Share Posted December 19, 2006 citação:Olá Pessoal, minha dúvida é o seguinte, eu travo o registro antes ou depois de desativar os Ãndices na alteração do mesmo. Abraços. Beto QUANDO CHEGAR NO REPLACE, TRAVE O REGISTRO. GRAVOU... DESTRAVE O REGISTRO. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Como Vai João, tudo blz. Então fica assim: Alias->(dbsetorder(0)) Alias->(Reclock(10)) Repla... Repla... Alias->(dbUnlock()) Alias->(dbCommit()) Alias->(dbSetOrder(1)) Abraços. Beto Msn: betovsp@hotmail.com Skype: betovsp Alternativo: betovsp@terra.com.br CL53B + FW2.0d + @ SAY/GET + BLINKER 7 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 19, 2006 Report Share Posted December 19, 2006 //->Alias->(dbsetorder(0)) //-> Isto, é bobagem... Alias->(Reclock(10)) //??? Repla... Repla... Alias->(dbCommit()) //-> Force a Rede e o Windows Antes Alias->(dbUnlock()) //-> Correto. //->Alias->(dbSetOrder(1)) //-> Isto é bobagem. Lógica perfeita, dificilmente gerará CORRUPÇÃO DE INDICE. Eu não tenho este problema. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 19, 2006 Report Share Posted December 19, 2006 Ah... Atente sempre, para que o PONTEIRO DO REGISTRO, Esteja Sempre EM CIMA do Registro Escolhido Para Alterar. Refresque a LISTBOX, que perceberás a Alteração, em Tempo Real. Quem Sabe, Faz ao Vivo!!! Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
betovsp Posted December 19, 2006 Report Share Posted December 19, 2006 citação://->Alias->(dbsetorder(0)) //-> Isto, é bobagem... Alias->(Reclock(10)) //??? Repla... Repla... Alias->(dbCommit()) //-> Force a Rede e o Windows Antes Alias->(dbUnlock()) //-> Correto. //->Alias->(dbSetOrder(1)) //-> Isto é bobagem. Lógica perfeita, dificilmente gerará CORRUPÇÃO DE INDICE. Eu não tenho este problema. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Valew João, Obrigado. Abraços. Beto Msn: betovsp@hotmail.com Skype: betovsp Alternativo: betovsp@terra.com.br CL53B + FW2.0d + @ SAY/GET + BLINKER 7 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
aferra Posted December 19, 2006 Report Share Posted December 19, 2006 não querendo discordar, mas já o fazendo, minhas corrupções de indicese acabaram a partir do momento que fiz desta forma.. Alias->(dbsetorder(0)) while Reclock(10) ; END Repla... Repla... Alias->(dbUnlock()) Alias->(dbCommit()) Alias->(dbSetOrder(1)) tb passei a usar a database Um Grande Abraço Alessandro F. Silvaid=blue> E-mail :aferracini@terra.com.br FW2.0d + CL53b + Blinker 7.0 + @Say @Get + CDX MSN: ferracini_silva@hotmail.com Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
alex2002 Posted December 19, 2006 Report Share Posted December 19, 2006 Olá Galera, No dia em que vcs quiserem 100% de solução desta merda, usem o SQL. Garanto que ninguem volta atrás depois. Um abraço, Alexandre Pereira fwh 2.4, xharbour, .99.5, HbMake msn: alexpdasilva6@hotmail.com Belo Horizonte / MG (ultimamente sou visita) Quote Link to comment Share on other sites More sharing options...
betovsp Posted December 20, 2006 Report Share Posted December 20, 2006 citação:Olá Galera, No dia em que vcs quiserem 100% de solução desta merda, usem o SQL. Garanto que ninguem volta atrás depois. Um abraço, Alexandre Pereira fwh 2.4, xharbour, .99.5, HbMake msn: alexpdasilva6@hotmail.com Belo Horizonte / MG (ultimamente sou visita) id=quote>id=quote>Calma Alex, com certeza é o que faremos. ehehehehe, além da ferrari vermelhinha é claro. Abraços. Beto Msn: betovsp@hotmail.com Skype: betovsp Alternativo: betovsp@terra.com.br CL53B + FW2.0d + @ SAY/GET + BLINKER 7 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 20, 2006 Report Share Posted December 20, 2006 citação: citação:Olá Galera, No dia em que vcs quiserem 100% de solução desta merda, usem o SQL. Garanto que ninguem volta atrás depois. Um abraço, Alexandre Pereira fwh 2.4, xharbour, .99.5, HbMake msn: alexpdasilva6@hotmail.com Belo Horizonte / MG (ultimamente sou visita) id=quote>id=quote>Calma Alex, com certeza é o que faremos. ehehehehe, além da ferrari vermelhinha é claro. Abraços. Beto Msn: betovsp@hotmail.com Skype: betovsp Alternativo: betovsp@terra.com.br CL53B + FW2.0d + @ SAY/GET + BLINKER 7 Ribeirão Preto/SP id=quote>id=quote>Tá Louco... O ke foi isto??? O Alex Endoidou de vez... hehehehe. Beto, como é esta tal de CORRUPÇÃO DE INDECES?? No XHARBOUR, não tenho isto com arquivo.cdx de forma nenhuma!! Mas, o SQL, do Ale, deve ser o bicho mesmo! Quanta enfase! João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
betovsp Posted December 20, 2006 Report Share Posted December 20, 2006 citação: citação: citação:Olá Galera, No dia em que vcs quiserem 100% de solução desta merda, usem o SQL. Garanto que ninguem volta atrás depois. Um abraço, Alexandre Pereira fwh 2.4, xharbour, .99.5, HbMake msn: alexpdasilva6@hotmail.com Belo Horizonte / MG (ultimamente sou visita) id=quote>id=quote>Calma Alex, com certeza é o que faremos. ehehehehe, além da ferrari vermelhinha é claro. Abraços. Beto Msn: betovsp@hotmail.com Skype: betovsp Alternativo: betovsp@terra.com.br CL53B + FW2.0d + @ SAY/GET + BLINKER 7 Ribeirão Preto/SP id=quote>id=quote>Tá Louco... O ke foi isto??? O Alex Endoidou de vez... hehehehe. Beto, como é esta tal de CORRUPÇÃO DE INDECES?? No XHARBOUR, não tenho isto com arquivo.cdx de forma nenhuma!! Mas, o SQL, do Ale, deve ser o bicho mesmo! Quanta enfase! João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Pois é João, estamos na briga, pois estou analizando rede, máquina e outras coisas, a corrupção só acontece em um arquivo. Abraços. Beto Msn: betovsp@hotmail.com Skype: betovsp Alternativo: betovsp@terra.com.br CL53B + FW2.0d + @ SAY/GET + BLINKER 7 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.