• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1262
  • Last Modified:

dbase for DOS fix

I have an old dbase file witch is corrupt.

does anyone know a fixprogram to fix this.

I tried dbrx14.exe but this program is no good.
0
dto
Asked:
dto
  • 6
  • 3
1 Solution
 
chewhoungCommented:
Try some file from this site:
http://www.iag.net/~philb/ftputils.htm

try dbfdat.zip or other utility.

Related sites:
http://dspace.dial.pipex.com/town/square/tac61/ecvolink.htm
0
 
vboukharCommented:
I've such problems a lot of times, and solve it manually with any bynary editor (like Norton DiskEditor). DBF file have a very simple structure of header. If you want, I can scan it (I have only printed copy) and send you via e-mail, or you can send me your file and I fix it.
vboukhar@usa.net
0
 
vboukharCommented:
I mean description of DBF file structure, of course
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
dtoAuthor Commented:
Please scan and email me a copy.

dto2@bigfoot.com
0
 
dtoAuthor Commented:
No good,

I need a superB program for this file..

Very important !!!!!!!!!!!!!!!!!!!!!!

0
 
vboukharCommented:
Try compile such cod in any C compiler:
(structure of header is dbf_hd). Programm write on screen conents of dbf file)
#include "stdio.h"
#include "io.h"
#include "fcntl.h"
#include "conio.h"
main(int argc,char **argv)
   { int fptr,j;
     char *i;
     long int m;
     long gg;
     struct {
             char dbf_id;
             char last_up[3];
             long last_rec;
             unsigned data_off;
             unsigned rec_size;
             char filler[20];} dbf_hd;
     char stt[450],hist[450];
     if (argc==1) {printf("Wait for correct call\n");exit(0);}
     fptr=open(argv[1],O_RDWR|O_BINARY);
     if (fptr==-1) {printf("ERROR \n"); exit(1);}
     if (read(fptr,(char *)&dbf_hd,sizeof(dbf_hd))!=sizeof(dbf_hd))
         { printf("\n ERROR READING\n "); exit(2);}
     gg=lseek(fptr,(long)dbf_hd.data_off,SEEK_SET);
     m=0;
     while (m<dbf_hd.last_rec) {
      read(fptr,&stt,dbf_hd.rec_size);
      printf("%s\n",stt);
      gg=lseek(fptr,-(long)dbf_hd.rec_size,SEEK_CUR);
      m=m+1;
       }
    close(fptr);
    }

0
 
vboukharCommented:
it's part of programm was written some years ago on TurboC 2.0 :) Good luck!
0
 
vboukharCommented:
In addition: there is program "FileFix.exe" from Norton Utilities for DOS, that could recover dBase files. I check it.

0
 
dtoAuthor Commented:
I donnot have filefix.exe. where can i download it ?
0
 
vboukharCommented:
I sent you .zip with FileFix by e-mail.
0

Featured Post

Veeam and MySQL: How to Perform Backup & Recovery

MySQL and the MariaDB variant are among the most used databases in Linux environments, and many critical applications support their data on them. Watch this recorded webinar to find out how Veeam Backup & Replication allows you to get consistent backups of MySQL databases.

  • 6
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now