Jetcomp - Exe Readme File
Jetcomp - Exe Readme File
Jetcomp - Exe Readme File
Table of Contents
Introduction......................................................................................................................................................1
Localization and Support..................................................................................................................................1
Instructions.......................................................................................................................................................1
Errors Encountered in Earlier Versions of the Microsoft Jet Database Engine...............................................2
MSysCompactError Table................................................................................................................................3
Issues Fixed by Updated Compact Utility........................................................................................................4
Sample Code to View Rows Containing Modified Column Data....................................................................5
Introduction
This Readme file includes sample code that allows you to easily view rows of data in which the Jet
database engine found problems during the Compact process. The Jet database engine generates an error if
it encounters a problem during the Compact process and then creates the MSysCompactError table in the
destination database. You can use Jetcomp.exe on secured databases and databases that have a database
password.
Jetcomp.exe is a standalone utility that allows you to compact databases created with Microsoft Jet
database engine 3.x and 4.x. This utility may be used in conjunction with Microsoft Jet database engine 3.x
and 4.x for recovering corrupted databases. Although it is possible to use the Microsoft Access Compact
utility or the CompactDatabase method with Microsoft Jet database engine 3.x and 4.x, Jetcomp.exe may
be able to recover some databases that these utilities could not. This is because the Microsoft Access
Compact utility and the CompactDatabase method attempt to open and close a database before attempting
to compact it. In certain cases where these utilities may not be able to reopen the database, Compact will
be unable to proceed, preventing recovery of the database. Jetcomp.exe does not attempt to open and close
the database before compacting, and may be able to recover some databases that the Microsoft Access
compact utility and the CompactDatabase method could not. Jetcomp.exe is a freely distributable utility,
but requires that you have one of the following products installed:
Microsoft Office 97
Microsoft Office 2000
Microsoft Access 97
Microsoft Access 2000
Microsoft Visual Basic® 5.0
Microsoft Visual Basic 6.0
A Microsoft Office Developer Edition 97 run-time application that includes the run-time version of
Microsoft Access 97
A Microsoft Office Developer 2000 run-time application that includes the run-time version of
Microsoft Access 2000
A Microsoft Visual Basic 5.0 run-time application that includes Microsoft Jet database engine 3.5
A Microsoft Visual Basic 6.0 run-time application that includes Microsoft Jet database engine 3.5 or 4.0
The User Interface of JetComp.exe is in English only and is not supported by Microsoft Product Support
Services. JetComp.exe can be used to compact databases in any language supported by the Microsoft Jet
database engine.
Instructions
1. Double-click JetComp.exe.
2
2. In the Database to Compact From (Source) box, type the path and name of the database that you
want to compact.
3. In the Database to Compact Into (Destination) box, type the path and name of the new
compacted database that you want to create.
4. Under Additional Compact Options, set the appropriate options.
5. Click Compact.
In the course of using Microsoft Jet database engine 3.x, you may have encountered the following errors.
These errors typically relate to some form of corruption in the database. Error 3015 resulted in the Jet
database engine not being able to gain access to the database. Error 3343 required you to run the Jet
database engine repair utility.
In order to remedy these problems, Microsoft Jet database engine 3.51 and 4.x have enhanced the compact
process. With Microsoft Jet database engine 3.51 and 4.x, all of the errors described above will be
eliminated and repaired if possible. Compact now assumes all the functionality that the Jet database engine
repair process included and it is no longer recommended that you use the Jet database engine repair
process.
Compact should always be run on a regular basis because it creates a new database with the data and tables
in contiguous and sorted order. It also refreshes the statistics in the database and causes all stored queries
to recompile. Ultimately, this reduces the size of the database and can significantly increase performance.
MSysCompactError Table
If any of the errors described above are encountered, compact should be run as soon as possible. If an error
is discovered, the Jet database engine will create a table called MSysCompactError. This table will have
the following schema.
It is important to note that this table will only persist in the database until the following compact. Compact
will not copy any tables where the table name starts with MSysCompactError to the destination database.
This is done for maintenance, and the existence of tables where the name starts with MSysCompactError
indicates that the previous compact encountered problems. It is important that you do not have any
tables that start with MSysCompactError or they will not be present in the destination database
after running compact.
In addition to the Jet database engine creating the MSysCompactError table, the Jet database engine will
return an error message at the completion of compact to signify that a problem was encountered.
4
Unfortunately, modifying the error DLL (msjter35.dll for 3.51) was not an option due to localization issues
and Microsoft was forced to use a non-descriptive error message. The error message for 4.x has been
update to be more meaningful, as stated below.
When the Jet database engine compact encountered errors, it would delete the destination database upon
completion of compact. This has now been modified so that the destination database will not be deleted if
5
the compact process encounters errors described above. However, if some other error is encountered that
will prevent the destination database from being usable, compact will delete the destination database. If
compact is run from the Microsoft Access toolbar and you choose the destination database name to be the
same as the source database name and an error described above is encountered, a database called
DB?.MDB will be left on disk. The source database will remain unaltered.