Board index » delphi » Overwriting damaged Paradox indexes??

Overwriting damaged Paradox indexes??

Hi folks,

I've got a user that has a serious problem with indexes being damaged. I'd
like to write a little simple executable, which only purpose would be that
it would rewrite the indexes, but I can't seem to be able to find the proper
commands to do that?

(Writing a routine to create a new database with it's own indexes isn't a
problem at all, but what to do when I just want to overwrite the existing -
damaged -indexes??).

I've also looked into the often mentioned TUtility program on Borland's
support pages, but that doesn't recognize the indexes as being present: it
reports "indexes: 0" (which isn't the case - but this might be due to the
"IndexDefs.Add" method used in creating the indexes, I'm not sure about
that).

Could someone please show me how to implement a "Reindex" function?  ;-)

Looking forward to your helpful reply!

Best regards,
Harry Doldersum.
---------------------------
Harry Doldersum,
main e-mail address: Harry_Dolder...@csi.com
website: http://www.Doldersum.com

 

Re:Overwriting damaged Paradox indexes??


Get the sample table repair program from
www.borland.com/devsupport/bde/utilities.html. It will do what you need.

Bill

--

Bill Todd - TeamB
(TeamB cannot respond to email questions. To contact me
 for any other reason remove nospam from my address.)

Re:Overwriting damaged Paradox indexes??


Bill,

BT>Get the sample table repair program from

Quote
>www.borland.com/devsupport/bde/utilities.html. It will do what you need.

As I wrote in my inquiry, this repair utility (dtutil.exe in tutil32.zip)
doesn't *seem* to recognize that a database has indexes? The reported number
of related indexes is zero (displayed in the dialog as "Indexes: 0).

Original text, for reference:

Quote
>I've also looked into the often mentioned TUtility program on Borland's

support pages, but that doesn't recognize the indexes as being present: it
reports "indexes: 0" (which isn't the case - but this might be due to the
"IndexDefs.Add" method used in creating the indexes, I'm not sure about
that).<

This utility simply doesn't do the trick?? It doesn't seem to know that the
indexes are there, so how could it repair them??

The only alternative I can think of, is to take the "long way home", by
creating a new identical database with new identical indexes and then copy
all data from the old database file into the new: this will also get me a
new properly working set of indexes. After that the old database file and
the old indexes will be deleted.

But I cannot imagine that it wouldn't be possible to simply create new
indexes, using a few instructions?  It can't be that difficult?   (Or can
it???  <g>).

Looking forward to your helpful reply!  ;-)

Best regards,
Harry D.
---------------------------
Harry Doldersum,
main e-mail address: Harry_Dolder...@csi.com
website: http://www.Doldersum.com

Re:Overwriting damaged Paradox indexes??


Dear Bill,

I'm wrong where it comes to the TUtility program not rewriting the indexes -
I've just ran it's "Rebuild" function on a test database and the indexes ARE
rewritten. The dialog still mentions "Indexes = 0", but they *do* get to be
rewritten.

However, the contents of the *text* memo's is lost?? (On the
other hand, graphic memo's *are* still present in the rebuilt database,
strange enough? Only the text memo's are removed?).

Could you shed some light on this??

Looking forward to your helpful reply!

Best regards,
Harry D.
---------------------------
Harry Doldersum,
main e-mail address: Harry_Dolder...@csi.com
website: http://www.Doldersum.com

Re:Overwriting damaged Paradox indexes??


Paradox tables do not contain much error correction information so there are
some types of corruption that it cannot repair. I am guessing that is what
happened with your missing memo fields.  I have successfully rebuilt tables
that have memo fields without losing any. I have also rebuilt tables that
still have corrupt records after the rebuild. Paradox tables do not contain
any CRC or other type of error correction in formation that can be used to
verify or repair the data itself.

Bill

--

Bill Todd - TeamB
(TeamB cannot respond to email questions. To contact me
 for any other reason remove nospam from my address.)

Re:Overwriting damaged Paradox indexes??


Bill,

I'll pass on the info to the user and then the user can decide what he wants
to do. (He's got a backup of the complete database file set, but it wasn't
completely up to date. It might be best for him to run the TUtility and then
check his memo's - if data is lost, then reinstall the backup file set).

Thanks for the insights! ;-)

Best regards,
Harry D.
---------------------------
Harry Doldersum,
main e-mail address: Harry_Dolder...@csi.com
website: http://www.Doldersum.com
Bill Todd heeft geschreven in bericht <7mjgfs$4...@forums.borland.com>...

Quote
>Paradox tables do not contain much error correction information so there
are
>some types of corruption that it cannot repair. I am guessing that is what
>happened with your missing memo fields.  I have successfully rebuilt tables
>that have memo fields without losing any. I have also rebuilt tables that
>still have corrupt records after the rebuild. Paradox tables do not contain
>any CRC or other type of error correction in formation that can be used to
>verify or repair the data itself.

>Bill

>--

>Bill Todd - TeamB
>(TeamB cannot respond to email questions. To contact me
> for any other reason remove nospam from my address.)

Re:Overwriting damaged Paradox indexes??


Another alternative is to repair the existing table. If the only problem
after the repair is that the memo fields have been lost you could restore
the backup database to another directory then write a Delphi program to copy
the memos from the backup table.

Bill

--

Bill Todd - TeamB
(TeamB cannot respond to questions received via email)

Other Threads