DBF com campo MEMO embaralha os dados.

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

jasolive
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 23 Abr 2006 17:22

DBF com campo MEMO embaralha os dados.

Mensagem por jasolive »

Caros, tenho um problema muito sério com um determinado cliente.

O sistema:
O sistema foi desenvolvido a muito tempo por outra pessoa, e não pretendo, assumir o risco de fazer alterações no mesmo, ainda que aparentemente a empresa possua os codigos fontes atualizados.

A estrutura
Para cada item de pedido, é aberto um campo MEMO para o usuarios colocar especificações de entrega e de produção do item.

O problema
Sendo isso feito num campo MEMO, o famigerado Itens.DBT, esta com mais de 30 Mb. A questão e que quando chega nesse tamanho, de repente o sistema começa a embaralhar os dados, ou seja, na hora de buscar o conteudo do campo MEMO ele não traz os dados corretamente.

O que tenho feito
Quando isso acontece, o que tenho feito é importar os dados para uma base vazia, e aparentemente o problema desaparece..., na verdade volta a acontecer em poucos dias, até que eu retire os pedidos mais antigos, diminuindo o tamanho dos arquivos...

Indexação
Ainda por azar, o antigo programador não fez criou no sistema uma estrutura para recriar os indices do zero. Apenas faz REINDEX, ou seja se eu apagar os indices o sistema da erro.

Suplica / Desabafo
:f É, to quase jogando fora o telefone, heheheh !

Na verdade, gostaria de saber se alguem tem alguma ideia de como solucionar o caso ! Ou pelo menos, a vossa opnião sobre DBTs com tamanho grande ! Volto a ressaltar a principio não considero mecher no sistema. por um motivo muito simples: Estaria assumindo junto ao cliente, a responsabilidade sobre todo e qualquer problema sobre um sistema que não fui eu que fiz !!!

Um grande abraço !
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

CAMPO MEMO

Mensagem por Pablo César »

Jasolive,

Eu te aconselho a você encher o peito de coragem e por suas mãos a obra e mudar esse código fonte, onde cria, grava, edita, exclui, imprime esse FAMIGERADO (como você disse) campo MEMO. A solução que vou te dar é muito simples e não vai te custar muito trabalho. O mesmo principio de você editar pelo memoedit e gravar pelo memowrit, você irá continuar. Só que você vai ter que exportar todos esses registros que contém algo escrito em arquivos separados. Leia este tópico:

https://pctoledo.org/forum/viewto ... 37f0bdc3c9

Se houverem dúvidas poste aqui a suas perguntas. Acho com certeza que você vai gostar. Então para cada regsitro ô sistema grava em um arquivo separado (inclusive, você poderia reservar uma pasta para esse fim). E a composição do nome, pelo número do pedido (vamos dizer).

Bom sorte colega e um clip-abraço
:)Pos
Eliane
Usuário Nível 2
Usuário Nível 2
Mensagens: 82
Registrado em: 22 Mai 2006 10:17
Localização: Londrina-PR

Mensagem por Eliane »

Estou usando a idéia do Pablo e funciona 100%. O que vc terá que mexer no programa é pouco. Se não quiser se responsabilizar pelo sistema, mostre apenas onde vai mexer e que se responsabilizará apenas por isso. Mas é idéia é segura e vale a pena.
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Mensagem por gvc »

Usando o DBU, abra o arquivo DBF e o respectivo NTX.
Com o <F3> / <Index>, vc pode ver como é a chave de indexação.
jasolive
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 23 Abr 2006 17:22

Valeu pelas dicas !

Mensagem por jasolive »

Quanto a alterar o sistema, estou vendo com o meu chefe...( A consultoria em que trabalho assumiria junto comigo a responsa sobre o software), mas de qq. forma achei otima a ideia dos campos memos...

Um grande abraço, e qq. novidade eu aviso vocês..
Responder