Hi Mark,

> I think that there are only about 24,000 records in the table.  Not sure if
> the network is slow - but the client workstation certainly is, and is about
> to be upgraded.

My experience has shown that if the size of the table is getting up to
the 64MB+ range (regardless of number of records) then it is worth
changing the block size.

> Bevan, you suggest changing the block size "For those few problem tables" to
> 32k.  How do you go about changing that setting at the table level?

In the configuration page of the BDE Administrator, you choose Drivers,
Native, Paradox and there is a BLOCK SIZE setting in there.  Make sure
that you are not running anything using the BDE and then select the
32768 setting (or 16384 for 16k block size, etc).  This means that all
tables created from then on will have the new block size - so you might
want to change it back to 2k or 4k after you have changed this one
table.

Then you create a table called xxxNew.db (where xxx is the name of the
original table) and Borrow everything from the xxx.db table.

> Is there a neat way of copying records from the old table into the new one?

Finally, add the second table to the first.  In the Database Desktop you
can choose Tools, Utilities, Add to add the contents of one table to
another.

> Given that the secondary index is no longer there, I guess that merely
> rebuilding is never going to bring it back - so I HAVE to find a way of
> re-creating it.

Yes.  But the question is, is it gone or has it become corrupted?  If it
is merely corrupted then repairing the table will restore it.

> Both sites (mine and the client) are using the same version of the BDE
> (5.01).
> When I look at my Paradox files they are version7 and I am assuming that the
> client site is the same (or does the upgrade not happen automatically with a
> BDE upgrade?).

The BDE uses the lowest table version required for the features used in
the table.  So if you don't use any features from Paradox v5 and above,
then the BDE will create a Paradox v4 table.  However, because the block
size is set to more than 4k (above) then that requires at least Paradox
v5 (press F1 while on the BLOCK SIZE setting in the BDE and read what it
has to say about it).

I generally find that I use Long Integer fields anyway, which requires
Paradox v5 or v7, from memory.

> I have a utility here called DTutil32.exe.  Not sure where it came from - is
> this adequate for doing these sorts of rebuilds?  There are others around
> that require an empty copy of the database to be maintained for reference in
> rebuilding databases.
> Are these latter types able to recover from more corrupt databases than the
> above utility?

Yep, that's the one I was referring to earlier.  I think it's a bit old
now, but it seems to work even with Paradox v7.

> Do these utilities fix more problems than it is possible to fix by merely
> deleting and re-creating the indexes?

I believe that they recover as much data as they possibly can (which is
generally all of it unless the data file has become corrupted as well),
and then rebuild all of the indices for the table.

Good luck.

Regards,

Bevan

-- 
Bevan Edwards                           mailto:[EMAIL PROTECTED]
Achieve Software Limited                http://www.achieve.co.nz
Phone:  (64-9) 444-4210                 ICQ: 732011
Fax:    (64-9) 444-4201
Mobile: (64-21) 979-603
---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED] 
with body of "unsubscribe delphi"

Reply via email to