Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

btree index errors daily

Status
Not open for further replies.

JBirdieH

Technical User
May 22, 2001
37
0
0
US
We've had paradox since 1994. I have not had this problem. Everyday my table has primary index errors. The index consists of 5 fields. Everyday I create a new table, append the records, reindex and rename. We are on a windows network. Why would this happen "all of a sudden"?
 
What version of Paradox the application?

How many fields in the table?

When you say creating a new table, are you litterally using CREATE? or BORROWING another table's structure. or ???

How many records are you appending? Are you adding one table to another, or importing, or ??? (Where are the records you are appending coming from?)

What are the exact errors on the primary index?

Tony McGuire
"It's not about having enough time; we have the rest of our lives. It's about priorities.
 
Table if version 7, app. version 10. There are 8 fields in the table.Almost one million records. I rebuild the way I understand to be the cleanest (please correct me), which is to create a new table borrowing the structure from the old table, querying out the contents of the old table into an answer table and then adding the answer table to the new table and continuing to index the new table. Unfortunately I left the error info in the problems table and now it is gone. It is almost always something like btree error index # location mismatch.

Thank you for responding!
 

If you are borrowing the structure, you could be borrowing the error(s) as well.

Use CREATE to create a new table, rather than borrow, and add the records. Then create the index. You COULD create the indexes in the same CREATE statement, however.

Better yet, before creating a new table, ensure that the block size in the BDE Administrator (Start | Settings | Control Panel and select BDE Administrator) is set to 16384 or 32768. It has been shown, tho, that a multi-field compound key can cause corruption under some circumstances - but the circumstances haven't been figured out (honestly). I believe the 16384 setting is the safest in your situation.



Tony McGuire
"It's not about having enough time; we have the rest of our lives. It's about priorities.
 
I was doing this interactively through new table and then borrowing. I will however, use create programmatically without borrowing the structure from the old table.

Ironically yesterday I had changed the block size of the bde from 4 to 16 K and there were no index errors. I previously had tried 32 with many errors and moved back to 4. In fact the only table that I have ever had "nonrecoverable" had the 32K block size.

This app is the database for a title company. It has functioned well on the network for 10-20 people for many years. In fact I'm still creating new apps for them. How worried would you be that we aren't currently making the move to sql or the like? I am concerned about the one automatic windows update that leaves paradox non-functional.
 
If it works, don't try to fix it.

I don't think a Windows update will kill Paradox, at this point.

M$ tried with Vista, and we figured out the nitnoi issues it created.

Even if a computer goes out, you can always install the OS that computer had on a new one (legally). We purchased a 'Full' version of Windows 2000 for just this purpose. When we buy a new computer (with Vista or whatever), we can LEGALLY install that copy of Win2K on it, keeping it compatible with Paradox.

Just my 2 cents, but many feel that way at this point.

That said, you could start programming for a new system (php/mysql/etc) now, and migrate as you lock the new code down. In fact, using mysql NOW, with Paradox doing the work, is a path many are taking. Then the data is in sql format, and a new frontend can be created and moved to slowly with no downtime of the users.


Tony McGuire
"It's not about having enough time; we have the rest of our lives. It's about priorities.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top