ERR: "Arquivo não um banco de dados"; como modificar o cabeçalho do banco de dados

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 98743
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
Quando FoxPro retorna a mensagem de erro "Não um banco de dados de arquivo", às vezes, você pode corrigir cabeçalho do arquivo danificado usando um editor de arquivo hexadecimal.

Aviso : antes de tentar modificar um banco de dados dessa maneira, é altamente recomendável que você faça backup do banco de dados.

A estrutura do cabeçalho de arquivo do banco de dados é fornecida abaixo.
Mais Informações
O "E não um arquivo de banco de dados" mensagem de erro no FoxPro 2.x pode ser causada por um valor de contagem de registros no cabeçalho da tabela for maior que o número real de registros. Hexedit.app, distribuído com o Visual FoxPro 5.0 pode ser usado em uma tentativa para corrigir a contagem de registros. Hexedit.app, uma representação hexadecimal de contagem de registros pode ser encontrada no endereço: 0000000 em colunas 4, 5, 6 e 7. usar a Calculadora no Windows 95 ou Windows NT para converter de decimal em hexadecimal e lembre-se inverter a ordem dos números de acordo com este artigo.

Para obter informações sobre executar manutenção da tabela FoxPro usando funções de arquivo de nível inferior, consulte seguinte artigo na Base de dados de Conhecimento da Microsoft:
135905Como recuperar registros que estavam anteriormente Zapped
**********************************************************************
Aviso : qualquer USE BY você de IN de fornecido a informações Este artigo está em risco próprio YOUR. A Microsoft fornece essas informações "como estão" sem garantia de qualquer tipo, expressas ou implícitas, inclusive mas não limitada às garantias implícitas de comercialização e/ou adequação a uma finalidade específica.
**********************************************************************

A tabela abaixo identifica os bytes na primeira parte do cabeçalho:
   Byte number   Description   -------------------------------------------------------------   1             File-type identifier:                    03 - DBF without memo (FoxBASE+/FoxPro/dBASE                         III PLUS/dBASE IV)                    83 - DBF with memo (FoxBASE+/dBASE III PLUS)                    8B - dBASE III with memo                    F5 - FoxPro with memo   2-4           Date of last update (YYMMDD)   5-8           Number of records in file*   9-10          Offset to start of data**   11-12         Size of record***   13-28         Not used   29            Flag for compound index****   30-32         Not used   * The number of records in the database is stored in reverse     format. In other words, if those bytes were equivalent to F4 01     00 00, there would be 500 records in the database. 1F4h is the     hexadecimal equivalent of decimal 500.  ** The offset to the start of the data is computed from the     beginning of the file to the first data record. It also is stored     in reverse format. For example, if bytes 9 and 10 are 41 02, the     first data record would begin at 241h, or 577 decimal bytes from     the beginning of the file. *** The size of the record also is stored in reverse format; the     number represents the sum of the field sizes plus 1 because of     the deletion flag.**** The flag for the compound index will be 01h if there is a     structural .CDX file attached to the database, and 00h if there     is not an associated structural .CDX file.
a segunda parte do cabeçalho depende do número de campos no banco de dados. Cada campo usa 32 bytes. Há também um único byte terminação (0Dh) no final.

A definição de campo é da seguinte maneira:
   Byte number   Description   ------------------------------------------------------   1-11          Field name   12            Field type                 Character 43h                 Date      44h                 Logical   4Ch                 Memo      4Dh                 Numeric   4Eh   13-14         Offset of field from beginning of record   15-16         Not used   17-18         Field length (nonnumeric fields)   17            Field length (numeric fields)   18            Field decimals (numeric fields)   19-32         Not used
FoxPro limita os nomes de campo para dez caracteres; portanto, o décimo primeiro byte, ou o último byte (mais à direita), após o nome do campo, deve ser nulo (00 h). O comprimento do campo depende do tipo de dados. Campos de caractere usam bytes seventeenth e o décimo oitavo, no formato inverso.

Memorando, data e campos lógicos, que resolveu comprimentos de 10, 8 e 1, respectivamente, precisam apenas primeiro byte (17). Bytes restantes geralmente são nulos. No entanto, tenha em mente que há um byte terminação de 0Dh no final do cabeçalho.

Após o encerramento byte 0Dh, os dados do banco de dados real começa. O primeiro byte de cada registro é o sinalizador de exclusão. Se o registro foi excluído, mas não compactado, este byte será 2Ah (um asterisco ASCII); caso contrário, é 20 h (um espaço ASCII).

Para arquivos DBF criados no Visual FoxPro para Windows ou 2.x DBF arquivos adicionados a um recipiente de banco de dados (DBC), as informações de backlink são armazenadas entre 0DH bytes e o início dos dados.
Referências
"Guia de programação do FoxPro versão 2," Capítulo 11, por Michael Antonovich
FoxPro para MS-DOS "Guia do desenvolvedor do", versão 2.0, Apêndice B
FoxPro para MS-DOS "Atualização", versão 2.5, páginas de 4 a 20 para 4-21
FoxPro para Windows "Guia do desenvolvedor do", versão 2.5, Apêndice A
VFoxWin FoxDos FoxWin 2,50 2.50a errmsg err msg reparo corrompido não uma tabela/dbf 2.50b

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 98743 - Última Revisão: 12/04/2015 09:27:18 - Revisão: 2.2

Microsoft Visual FoxPro 3.0 Standard Edition, Microsoft Visual FoxPro 5.0 Standard Edition, Microsoft FoxPro 2.6 Standard Edition, Microsoft FoxPro 2.0, Microsoft FoxPro 2.6 for MS-DOS

  • kbnosurvey kbarchive kbmt kberrmsg KB98743 KbMtpt
Comentários