Jump to content


Photo
- - - - -

Corrupt PRO-ISAM File


6 replies to this topic

#1 George Walton

George Walton

    Advanced

  • Members
  • PipPipPip
  • 83 posts
  • Gender:Male
  • Location:Markham, Canada

Posted 11 October 2002 - 05:23 PM

I have a corrupt PRO-ISAM file. I have tried to copy it in PRO-IV, repair it with ISCHK, and ISOUT to a sequential file. All efforts fail. Is there anyone out there that has some utility/trick/method of trying to retrieve the data.

#2 Guest_Adrian Fuentes_*

Guest_Adrian Fuentes_*
  • Guests

Posted 11 October 2002 - 06:10 PM

Not a problem for me now that I use Oracle, but I used to create a ProIV update to copy the original file to an equivalent (same strcuture) temporary pro-isam file. Then I recreated the corrupted file with @CREATEF and with another update copied the records back from the temporary file. I used to lose a few records that way,

Regards,

#3 Arnold Mulder

Arnold Mulder

    Member

  • Members
  • PipPip
  • 35 posts
  • Gender:Male
  • Location:Moorefield, Canada

Posted 11 October 2002 - 06:26 PM

Couple other tricks ...

depending on the key structure if you could perform direct reads on the corrupt file and then write it to a temp file.

Also sneaking up on the corrupt area and then exiting the function and re-enter the function and set the key past the corrupt area and continue on. You will lose data but retrieve the valid data.

I have found that running it on a SCO unix server(as a pro 4 update or ischk) gives better results than on a W? or Linux version of Pro4.

There is also the pro-isam file utility people? Have not used them but they are out there. http://www.net-aware.com/

HTH

#4 Peter Davies

Peter Davies

    Advanced

  • Members
  • PipPipPip
  • 96 posts
  • Gender:Male
  • Location:Bangkok, Thailand

Posted 12 October 2002 - 03:55 AM

Just one thing.

Never repair a file using ISCHK.

If you get a corrupt PRO-ISAM file, use ISCHK to see if there is an error. This will only give true results if all users are logged off the system. ISCHK will report errors if users are logged on.

When you run ISCHK - do NOT use the repair option.

After running ISCHK, the best course of action it to ISOUT the corrupted file, move the original corrupt file & ISIN again.

I've never had a problem with this method.

Best regards

Pete

#5 Surajit

Surajit

    Expert

  • Members
  • PipPipPipPip
  • 132 posts
  • Gender:Male
  • Location:Land of Smiles :-)

Posted 15 October 2002 - 12:55 AM

Hi,

I have once encountered with corrupted PRO-ISAM file. The situation was:
- There was garbage in the middle of file; the function can read from the top of file till it reached the corrupted records, but once I started from the record after the corrupted records , the function continue read till the end of file. I checked with iskeys command.

The way to fix this problem:
- use isout with 'end key' option, create a seq file from the 1st record till the record before the corrupted record. You may name it as 'data1.seq'

- use isout with 'start key' option, create a seq file from the record after the corrupted record till the end of file. You may name it as 'data2.seq'

- change the name of your corrupted file (such as 'corrupteddata.pro' or whatever but don't delete it), then use isin for both 'data1.seq' and 'data2.seq' to recreate a new PRO-ISAM data file. You will lose only the corrupted records.

Hope this will help

Surajit

#6 Dennis John Laceda

Dennis John Laceda

    Member

  • Members
  • PipPip
  • 36 posts
  • Gender:Male
  • Location:Metro Manila, Philippines

Posted 16 October 2002 - 12:55 AM

guys i concur with Pete's suggestion. but instead of moving the corrupt file. i do repair it with ISCHK. after that i will then ISIN it back again.

It worked fine for me too.

Regards!

#7 HugoM

HugoM

    Newbie

  • Members
  • Pip
  • 1 posts

Posted 23 December 2012 - 12:05 AM

i have similar problem with a file, a try use ischk for repair the corrupt file; this command display :

Invalid Index Level: page 0x1
Invalid Page Leght: page 0x1

and when try use isout the meesage error is:

Error reading empldos.pro; FS_EBADINDEX invalid index structure
[107 - invalid Index - Rebuild ]

I need rebuild the index.

How i do this?

Sorry for my bad inglish
Regards



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users