Fórum Tabelas Paradox Corrompidas #173425
06/08/2003
0
Tenho um sistema de parcelamento funcionando em rede que até a pouco tempo funcionava normalmente.
Uso duas tabelas - Cadastro e Parcelamento - sendo um relacionamento um-para-muitos.
O problema é que com o aumento do banco de dados de parcelamento, começou a dar erro constante de Key Violation (Na realidade bastam dois usuários criarem um parcelamento para o erro ocorrer). O campo chave é do tipo Auto-Incremento.
O outro problema mais recente é que esta mesma tabela de parcelamento está sendo corrompida sempre que um usuário cria parcelas para um cliente. (Só para citar um exemplo, o usuário pede para criar 30 parcelas e após rodar a rotina de parcelamento, é indicado que gerou 60 parcelas. Claro que isto está errado, mas para corrigir estou tendo que usar a biblioteca TUTIL32.DLL constantemente).
Apesar de conseguir corrigir sempre que o erro ocorre, isto está se tornando um grande inconveniente.
Peço que se alguém já passou por esse problema; me ajude, pois já esgotei todas as possibilidades que conheço sobre o assunto.
Grato pela atenção.
Barcelos
Barcelos
Curtir tópico
+ 0Posts
06/08/2003
Koplin
Recentemente tive um problema deses e era a rede recebendo interferencia. Uma vistoria na rede resolveu. Mas sempre tenho problemas. O seu caso é ainda mas grave por ter relacionamento dentro das tabelas. Eu uso fazer no código. Corrupção de indices são uma constante.
Diante destes problemas, eu migrei minhas aplicações para outro banco de dados. Hoje uso mySQL com os componentes zeusLib 6.11 gamma. Para portar não é dificil, requerendo apenas conhecimentos maiores de SQL.Ele vem com um excelente manual que ensina tudo. E tem em portugues no site www.mysqlbrasil.com.br
Mas, veja sua rede. Faca um checkup completo, re-grimpando cabos e trocando o hub por um switch, veja as placas de rede, se sua rede for de no max. 10M pense em renovar para ela ficar 10/100. Veja se não tem cabos pasando perto de luminarias ou junto a fiação elétrica. Pense em interferencia eletrica ou mal-contato. Fazendo isso tudo, tem um bom tempo que meu cliente não me chama.(este ainda ta no paradox).
Outro bom motivo para migrar é que o BDE foi descontinuado.
Gostei + 0
07/08/2003
Renaldo
Gostei + 0
07/08/2003
Bacalhau
Barcelos, creio ter a solução para esses indices, mas preciso saber em que rede está e os parametros da driver Paradox em cada máquina. Se quiseres esclarecer melhor estou em virtual.viegas@netc.pt
Abraço do bacalhau
Gostei + 0
09/08/2003
Alessandrobenevides
ABRAÇOS E BOA SORTE, HÁÁÁ E LEMBRE-SE SAIA DO PARADOX OU ´PIRADOX´. alessandrobenevides@hotmail.com
Gostei + 0
09/08/2003
Barcelos
Primeiro queria agradecer a todos pelas dicas. Estou testando algumas pra ver o que acontece...
Bom, pelo que parece vou ter mesmo que mudar o tipo de banco de dados.
A questão é: Qual a forma menos traumática de fazer isto?????
Existe possibilidade de portar o código????
Alguém sabe de alguma apostila, artigo, etc... que trate da migração de BD´s???
Valeu galera!!!!
Barcelos
Gostei + 0
10/08/2003
Koplin
Troca de Banco de dados, sempre dá trabalho, principalmente se sua filosofia for baseada em SQL. Mas vale a pena. Eu comecei com interbase e depois mudei para mySQL. Dentro do tipo de projetos que eu uso Estou satisfeito. Agora o IB ou FB - a versão free - está muito bem documentada na net e tem muitos aplicativos para auxiliar na migração.
Gostei + 0
11/08/2003
Bacalhau
Não concordo com a opinião de alguns colegas, quando dizem que o Paradox é frágil. Dou apoio a clientes com tabelas de 150000 registos (sim, cento e cinquenta mil...) e trabalham alegremente.
Conforme disse numa resposta antiga, o problema não é do Paradox, é de configuração do BDE. A resposta a esse problema é um pouco longa, por isso disponibilizei o meu mail para me dares mais informação.
A mudança pode ser traumática, principalmente na conversão do código. Se precisares manda um mail para virtual.viegas@netc.pt com as parametrizações da drive Paradox no BDE. Terei todo o gosto em ajudar.
Abraço do bacalhau
Gostei + 0
11/08/2003
Barcelos
O e-mail já deve ter chegado.
Tô aguardando a resposta.
Se alguém tiver outras sugestões sobre isto, por favor postem aqui també m.
Valeu mesmo.
Barcelos
osbarcelos@hotmail.com
Gostei + 0
11/08/2003
Cicero
o paradox.da pau mesmo,, não tem jeito.
mais uma dica para trabalhar com paradox.não use indice Autoincremento
use um contador para o campo codigo, no seu prejeto ok:
na www.theclub.com.br
exist projeto com um cantador de Registro pronto p/ Paradox
seu nao ingano é controle.zip
cicerojosecruz@bol.com.br
MT Varzea Grande
Gostei + 0
11/08/2003
Franklin
qnd ocorrer este tipo de exceção use como clausula except um comando para alterar o seu campo de autoinc para numerico, feche a tabela e altere-a novamente para autoinc. assim vc faz com que os registros sejam recontados no autoinc, consequentemente corrigindo o erro.
sempre funcionou comigo, t+...
Gostei + 0
11/08/2003
Bacalhau
Tenho Paradox a correr há anos em redes enormes e não é preciso nada disto. Há solução, colegas, há solução...
Gostei + 0
15/08/2003
Barcelos
Devo dizer que com as configurações que nosso amigo Bacalhau me passou do BDE, as tabelas já não perdem mais os índices.
(A questão principal, conforme o arquivo que me foi enviado por ele[arquivo MUITO útil, por sinal], era quando os arquivos eram manipulados no servidor. Bastou dar um subst e funcionou uma maravilha).
Mas continua corrompendo as tabelas. Assim, perde o relacionamento.
Continuo tendo sempre que apelar para TUTIL32.DLL.
Alguma sugestão ???
Barcelos
osbarcelos@hotmail.com
Gostei + 0
17/08/2003
Bacalhau
Abraço do bacalhau.
Gostei + 0
18/08/2003
Barcelos
No programa propriamente dito, não dá nenhuma mensagem de erro.
A mensagem aparece quando rodo a rotina de reparação da biblioteca TUTIL32.DLL (uso o programa Database Explorer, incluído nos exemplos da RX LIB), aí é exibida a seguinte mensagem:
´Number of records 174 in block 197 does not match index 175. A Tabela Parcelamento.db está danificada. Reconstruí-la?´
Tens idéia do que seja ?
Abraço
Barcelos.
Gostei + 0
20/08/2003
Bacalhau
É que o que reportas pode não ser um erro do programa, mas sim o reflexo de erros anteriormente ocorridos. Eu tenho num cliente um shareware muito antigo que repara com muito sucesso situações dessa tipo. Se não conseguires com mais nada diz-me que eu vou tentar enviar o referido software.
Abraço
Bacalhau
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)