Indexação - DBFNXT 1012 DBF Corruption

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

schott0102
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 01 Set 2010 11:05
Localização: Niterói - RJ

Indexação - DBFNXT 1012 DBF Corruption

Mensagem por schott0102 »

Bom dia amiguinhos,

Estou com um problema aqui e espero que tenham paciencia e saibam me ajudar. =P

Eu tenho em mãos um sistema antigo, e sem qualquer suporte por parte do cliente. Eles não sabiam absolutamente nada quando me mandaram os arquivos para atualizar. Não querem atualizar para xharbour ou nada do tipo (deve ser mantido em 5.2e).

Eu consegui criar um RMK e LNK para recompilar o sistema e funcionou perfeitamente. Ele possui uma função interna para reindexar os arquivos e essa função também funciona perfeitamente.

Eis meu problema:

A atualização do sistema se fez necessaria devido a uma atualização de um DBF. O programa agora deve passar mais parametros e condições para achar uma unica entrada do DBF.

Esse novo banco me foi passado em formato XLS (Excel). Para transforma-lo em DBF, eu apenas troquei o formato. Recebi o erro explicitado no titulo do tópico. Tentei alguns conversores XLS to DBF, e nenhum funcionou devidamente. Existe algum método especifico para transformar esse xls para dbf sem que seja necessaria a reindexação, ou que pelo menos se mantenha a compatibilidade?

Porque quando eu troco esse banco e ativo a procedure de reindexação, todos os NXT são criados, com exceção do relativo ao DBF novo.

Caso o problema não seja a transformação do XLS em DBF, como eu faço para que o programa faça a indexização correta?


Perdoem-me se as perguntas forem estupidas. Eu descobri Clipper a 1 semana e não estou realmente familiarizado com a linguagem.


Obrigado.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Indexação - DBFNXT 1012 DBF Corruption

Mensagem por sygecom »

Abra o arquivo pelo excel, e tente ir no SALVAR COMO e selecione o tipo DBF (dBASE II) ou DBF(dBASE III) e depois tente novamente indexar pelo Clipper
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
schott0102
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 01 Set 2010 11:05
Localização: Niterói - RJ

Re: Indexação - DBFNXT 1012 DBF Corruption

Mensagem por schott0102 »

Eu tenho que baixar algum add-in para fazer isso? O meu excel não apresenta a opção de salvar como dbf. Tem DIF, mas nenhum DBF.


Edit: Bom, aparentemente houve uma descontinuidade ao formato DBF por parte da microsoft e não existe mais a possibilidade de salvar as planilhas xls como dbf a partir do Office 2007. Vou tentar baixar e instalar o Office 2003.
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á

Indexação - DBFNXT 1012 DBF Corruption

Mensagem por Pablo César »

Se a sua necessidade é diária e que a atualização terá que ser feito pelo próprio usuário, você tem duas possibilidades: uma ver a possibilidade de gerar essa planilha com algum arquivo tipo csv ou outro formato que o Clipper possa ler ou então busca um aplicativo para converter xls em dbf (e ainda em Excel 97), mas esta opção é um aplicativo que é pago. Uma das opções que encontrei no Google, é este: http://www.dbfview.com/convert-xls-to-dbf.html que custa 49 dolares (tem outro custando 29,95), mas tem uma versão trial que funcionará por 30 dias. Mas esta opção tem duas regras e que creio que qualquer outro aplicativo também se aplica:

Quando você exportar. Xls arquivos que você deve levar em consideração algumas limitações:

1. Regras dos nomes de colunas.
- Os nomes das colunas devem ser escritos um após o outro (começando com a célula A1).
- Nomes vazios das colunas não são suportados (colunas à esquerda, que só são importados).
- Os nomes das colunas com mais de 8 caracteres são cortados ficando até o tamanho de 8.

2. Regras da definição do tipo de colunas.
O tipo de colunas é definido de acordo com o tipo de dados inseridos na segunda linha, ou seja, se o valor inteiro é escrito na segunda linha dessa coluna será do tipo inteiro.

Se o seu problema de corruption foi após de ter importado os dados, foi porque você deve ter esquecido de ter aberto o dbf com os seus respectivos índices. Daí não pricisaria reindexar. Mas tem que ser aberto todos os indices daquele dbf.

Engraçado, pelo que eu lembro o Excel 97 tinha também gravar como dbf DBASE III e IV também. Veja que a instalação esteja completa, senão o jeito é fazer o upgrade do Excel.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Re: Indexação - DBFNXT 1012 DBF Corruption

Mensagem por gvc »

Como vc quer usar clipper 5.2e puro, vamos por partes:
- Exporte sua planilha para o formato csv. (arquivo texto com os campos separados por virgula ou poento e virgula)
- Crie um arquivo temporário com um campo apenas com tamanho suficiente para receber a maior linha do seu arquivo texto.
- Rode uma crítica sobre cada linha desse novo arquivo. (verifique os campos e os dados de todas as linhas)
- Se tudo atender as suas regras, desmonte as linhas usando tokens para ter os dados de cada campo e gravá-los no(s) devido(s) arquivo(s).
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
schott0102
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 01 Set 2010 11:05
Localização: Niterói - RJ

Re: Indexação - DBFNXT 1012 DBF Corruption

Mensagem por schott0102 »

Pablo,

Não existe a necessidade de atualização diaria. Na realidade, essa DBF vai ser utilizada apenas para consulta e para puxar dados, nada será inserido nela.

O que eu consegui fazer foi abrir o XLS no access e usar a função export para transformar em DBF, mas por algum motivo o arquivo ficou varias vezes maior do que o original, com varias linhas vazias após a tabela e apesar de agora ser possivel indexar, não consigo localizar dos dados dentro do DBF através do aplicativo.


Gvc, eu vou dar uma pesquisada e tentar fazer do jeito que disse. Espero que consiga. Obrigado.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: Indexação - DBFNXT 1012 DBF Corruption

Mensagem por rochinha »

Amiguinho,

Compacte o arquivo .XLS e o .DBF em questão, poste no 4Shared ou seu dominio e coloque o link aqui para baixar-mos e analisar-mos.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Responder