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 IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Help with consistency check

Status
Not open for further replies.

MrTrueMan

Programmer
Nov 4, 2008
1
GB
Hi,

I am very very new to Pervasive and have had some problems performing a simple where clause as well as some export issues so I ran a consistency check and came up with the following errors as below.

My question is where should I go from here? I have run a Rebuild on one of the smaller tables that had errors but this didn't seem to help. Any clues as to what direction I should go to get this database on track would be greatly appreciated.

Best Regards,

Tim

===============================================
Database Check Statistics
===============================================
Pervasive.SQL Compatibility Mode = 7
Tables Checked = 1
Tables Passed = 0
Tables Failed = 1

Illegal Object Names = 0
Record Length Inconsistencies = 2
Variable Length Column Inconsistencies = 0
Data Type Inconsistencies = 0
Column Overlaps = 0
Full Path (instead of Relative) Table Locations = 0
Table Files Don't Exist = 0
Index Inconsistencies = 24
System Table Inconsistencies = 0
General Dictionary Inconsistencies = 0


===============================================
===============================================
Problems Detected with Database Definitions
===============================================
+++++++++++++++++++++++++++++++++++++++++++++++
Table Name = AMGR_User_Fields_Tbl

Fixed Record Length Mismatch.
Dictionary indicates length 188
Data file indicates length 244.
Variable Data Type Column Mismatch.
The Data file indicates that a variable length column exists.
The Dictionary does not.
The Data File Index is Not Defined in the Dictionary.
The data file defines index 0 seg 0
The dictionary does not.
The Data File Index is Not Defined in the Dictionary.
The data file defines index 1 seg 0
The dictionary does not.
The Data File Index is Not Defined in the Dictionary.
The data file defines index 2 seg 0
The dictionary does not.
The Data File Index is Not Defined in the Dictionary.
The data file defines index 3 seg 0
The dictionary does not.
The Data File Index is Not Defined in the Dictionary.
The data file defines index 4 seg 0
The dictionary does not.
The Data File Index is Not Defined in the Dictionary.
etc....

 
Rebuilding the files won't help in these cases. The problem you are seeing is the result of Btrieve files being separate from the metadata (DDFs).
You've got three distinct issues listed. The first (record length mismatch) happens most when the DDFs don't describe all of the fields to completely describe the record.
The second (Variable Data Type Column Mismatch) happens when the DDFs and data files don't match for a variable length record. I've seen this when a vendor tries to store a fixed portion in a variable length field. Maximizer has been known to do this. It's bad for ODBC.
The third issues (index not defined) is caused by missing index definitions in the DDFs and is probably the easiest to fix. You might be able to recreate the indexes in the DDFs using CREATE INDEX and IN DICTIONARY.

The best way to resolve these inconsistencies is to go to the vendor of the application and as for ODBC compliant DDFs.

You can try to "fix" the DDFs but you'll need to know the exact record structure.

Mirtheil
Certified Pervasive Developer
Certified Pervasive Technician
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top