Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Help!!!. "Unable to Open Table. Corrupt table/index header". What to do???

0 views
Skip to first unread message

Sundial Services

unread,
Jul 16, 1997, 3:00:00 AM7/16/97
to

In article <33CD43...@mx2.redestb.es> frank <fra...@mx2.redestb.es> writes:

>I'm not a experienced programmer. So any help would be extremely
>appreciated.

>I have a little D2 application running in my machine but the other day
>it crashes. The error message is "Corrupt table/index header. File:...".
>I try to open the table with the Database Desktop but it's impossible.
>How can i recover (if it's possible) all the data in this paradox
>table?, and, is there a way to mend this error in run time if it happens
>again?


You need a table repair utility. There are some at www.borland.com in the BDE
section which are fairly simple. There's a really advanced tool out now by a
company called Logic Process. And we sell one which is programmable and
job-oriented. (http://www.sundialservices.com)

Particularly if you distribute your application anywhere, you need to have a
well thought out solution for dealing with table-corruption because, from time
to time, it can happen.

frank

unread,
Jul 16, 1997, 3:00:00 AM7/16/97
to

Hi there.

I'm not a experienced programmer. So any help would be extremely
appreciated.

I have a little D2 application running in my machine but the other day
it crashes. The error message is "Corrupt table/index header. File:...".
I try to open the table with the Database Desktop but it's impossible.
How can i recover (if it's possible) all the data in this paradox
table?, and, is there a way to mend this error in run time if it happens
again?

Many thanks.
Fran. (Spain).

Jim McCullin

unread,
Jul 17, 1997, 3:00:00 AM7/17/97
to

Fran,

You need to use the TUTIL32.DLL table repair utility library put out
by Borland (usually in combination with direct BDE calls) to repair
Paradox tables. There is some example code at www.borland.com if you
are so inclined. Alternatively, you may use one of the 3rd party table
repair utilities on the market. Some are applications and others are
designed for integration into your applications.

If you want to look at the 3rd party route, I encourage you to take a
look at a product we have recently released. The DataSentry Data
Maintenance Utility is a standalone app which checks/repairs tables
and indexes (and some other handy functions). The companion SelfCheck
API is a library of routines that use BDE and TUTIL32 calls to provide
the developer with a means of integrating table maintenance into their
own applications. SelfCheck comes with full source and can be deployed
in you apps royalty-free.

Unless you are into low-level programming, I encourage you to take a
look at this product (and certainly other 3rd party products, if this
one does not suit your needs). A full-featured DataSentry/SelfCheck
trial is available for download on our web site at
www.logicprocess.com.

Jim McCullin
Logic Process Corporation
sa...@logicprocess.com
www.logicprocess.com


On Wed, 16 Jul 1997 23:55:19 +0200, frank <fra...@mx2.redestb.es>
wrote:

Peter Hill

unread,
Jul 19, 1997, 3:00:00 AM7/19/97
to

frank wrote:
>
> Hi there.
>
> I'm not a experienced programmer. So any help would be extremely
> appreciated.
>
> I have a little D2 application running in my machine but the other day
> it crashes. The error message is "Corrupt table/index header. File:...".
> I try to open the table with the Database Desktop but it's impossible.
> How can i recover (if it's possible) all the data in this paradox
> table?, and, is there a way to mend this error in run time if it happens
> again?
>
> Many thanks.
> Fran. (Spain).

Fran,
You can try the following (no guarantees):
1. Close down Delphi to ensure that the table is not considered open
(better than just setting Active = false)
2. From Windows (not from Delphi) open the DatabaseDesktop and the
table. Ignore errors.
3. Restructure the table. No need to change anything.
4. Select "pack" option and save.

*Sometimes* this will correct the corruption.

Good luck. In the long term you will need something more robust than
this, as suggested in another post.

HTH
Peter Hill.

Sundial Services

unread,
Jul 19, 1997, 3:00:00 AM7/19/97
to


Another thing that sometimes works is to delete the index files and re-create
the indexes and primary-key.

Olivier DAHAN

unread,
Jul 19, 1997, 3:00:00 AM7/19/97
to

If you app does not make an intensive use of the underlying
database, you can try to send a "dbiSaveChanges" (low level BDE
procedure) after each group of record writing. This will unforce
the BDE to write all its buffers to disk. The app will be more
robust but slower too. This trick can help you limiting table
corruption.
Now, to repair a table, you must use the TUTILITY DLL. Two ways:
you call directly the DLL to reindex, or you can use the DBD.
But, in this case, not try to open the table, use instead the
Restructure function (elsewhere in the main menu of DBD).
Of course, you can just rebuild all indexes calling the BDE
(dbiRegenIndex of something near).
But the most important, perhaps, is to find why you app
crashed...


<<
I have a little D2 application running in my machine but the
other day
it crashes. The error message is "Corrupt table/index header.
File:...".
I try to open the table with the Database Desktop but it's
impossible.
How can i recover (if it's possible) all the data in this paradox
table?, and, is there a way to mend this error in run time if it
happens

--
Don't worry, be happy ...

0 new messages