How to repair a corrupted Master Client Database
This topic Applies to 32bit Version 2.9 onwards
The MonTel Master Client Database uses the Jet database Engine, which is the same engine that drives MS Access 97.
Sometimes the database can become corrupted, and needs to be repaired. This can often be performed from within MonTel, providing that MonTel can at least open the database. If this is not possible, you may still be able to repair the corruption using the MS Utility JETCOMP.exe. See below for a list of some applicable errors.
JET COMP Information from the MS Web Site.
http://support.microsoft.com/support/kb/articles/Q172/7/33.asp
Jetcomp.exe is a stand-alone utility that allows you to compact databases created with Microsoft Jet database engine 3.x. This utility may be used in conjunction with Microsoft Jet database engine 3.51 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.51, 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 the products listed on the Microsoft web site or MonTel installed on your computer.
MonTel uses the latest Jet 3.51 file from Version 2.9 onwards.
How to use JET COMP
Make sure that all users are out of the MonTel client. (See How to make MonTel or Notify automatically restart after an Admin shut down for how to do this from the PABX.INI file)
Rename the Master Client Database to PROB.MDB
Run JetComp.exe from the MonTel Application/support directory.
Enter the full path (MonTel Datadirectory/CLIENTDB) and name to PROB.MDB in Database to Compact From (Source): field.
Enter the full path (MonTel Datadirectory/CLIENTDB) and name ([ClientDB] section ClientDatabaseName + ".MDB") which is likely to be CLIENT32.MDB
Do not change any of the other fields.
Press the Compact Button.
If this succeeds, allow the other users back in to MonTel.
If this fails you will need to restore CLIENT32.MDB (or whatever it is named) from you nightly backup.
(You can delete PROB.MDB).
Errors Encountered in Earlier Versions of the Microsoft Jet Database Engine
(This section is extracted from documentation supplied with Jetcomp.)
In the course of using Microsoft Jet database engine 3.X, users may have encountered the following errors.
Error #
Error Description
3197
The Microsoft Jet database engine stopped the process because you and another user are attempting to change the same data at the same time.
3343
Unrecognised database format 慸atabasename.mdb'.
3015
慸atabasename.mdb' isn't an index in this table. Look in the Indexes collection of the TableDef object to determine the valid index names.
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 the user to run the Jet database engine repair utility.
Below is a description of what the errors really signified.
Error #
Error Description
Cause/Problem
3197
The Microsoft Jet database engine stopped the process because you and another user are attempting to change the same data at the same time.
This error typically occurs when a long value column (an OLE or MEMO data-type) has bad data stored in it. Long value columns are typically stored in a separate page from the page that the row is stored in. If a long value column is present in the table schema, the Jet database engine will attempt to read the long value page when reading the row of data. In order to read the long value page, there is a pointer in the row of data. This error is generated when the Jet database engine cannot properly read the long value page from the pointer present in the data row. When viewing a row that exhibits this behaviour in Microsoft Access data-windows, the user will typically see the number sign (#) for the entire row.
3343
Unrecognised database format 慸atabasename.mdb'.
This is typically caused when the Jet database engine was improperly shut down during the process of writing to disk.
3015
慸atabasename.mdb' isn't an index in this table. Look in the Indexes collection of the TableDef object to determine the valid index names.
This error message is typically caused when there is an index missing on the MSysObjects table. This is typically caused if the repair process is aborted.
In order to remedy these problems, Microsoft Jet database engine 3.51 has enhanced its compact process. With Microsoft Jet database engine 3.51, 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.
The latest version of AutoImport and AutoExport can be set to compact the database, providing that can gain exclusive access to the database (meaning that no user is currently in MonTel). You should only set one of the these to run the compaction. It is assumed that these programs are running late a night, as part of a batch file. See AutoExportCompactMasterClientDB or AutoImportCompactMasterClientDB.
i am a software developer ,involved in development of
small accounting packages using visual basis and ms-access
(2000) and ADO.
the package is running on a multiuser environment (mdb
file is in netware server and thru win 98 machines clients
are accessing the same)
everything was fine ,but since last 3 days i am not able
to open my access database, i am getting an error
"The microsoft jet database engine stopped the process
because you and other user are attempting to change the
same data at the same time"
i tried to find out solution's for this in internet,msdn
sites but i failed to get a valid solution , i downloaded
latest version od
mdac,jet4.0,Jet40SP6_9xNT.exe,JetCU40.exe,Jet40SP3_Comp.exe
but still i am not able to open my database mdb.
since the database is having some live data i have stuck
up with this.
i want to know can i save my data, and get the database
back to normal state.
i am waiting for any solution's which will allow me to get
my database back to normal state.
regards
Dayanada shenoy
Bri
Jun 6 2003 12:34 Various things to try:
1. Make sure that no-one is using the database, and look on the server
for an ldb file (yourdatabasename.ldb). If it's there, delete it.
2. Backup your database.
3. Download Jetcomp from Microsoft's website and try using it to
compact/repair your database.
4. Create a new, empty database and try to import all the objects into it
from the damaged one.
5. Give up and restore from a recent backup. You do have a recent
backup, right?
6. Send it to Peter Miller http://www.pksolutions.com and get him to
quote you for fixing it.
Microsoft Knowledge Base Article - 182867
建议?
如果您对此文章有任何建议或意见,请在下面输入(最多 255 个字)
支持中心
Access
Access 97
Office for Windows
General Information
联系我们
支持的选项和价格,电话和网上支持
客户服务
客户意见,产品购买,站点和产品信息
ACC: Jet Database Engine 3.x Error Messages Due to Corruption
The information in this article applies to:
Microsoft Access for Windows 95 7.0
Microsoft Access 97
This article was previously published under Q182867
Novice: Requires knowledge of the user interface on single-user computers.
SUMMARY
This article discusses the three most common error messages returned by the Microsoft Jet database engine 3.x that denote some form of corruption in the database. The article discusses what the messages mean and how to resolve the issue(s) causing the error.
MORE INFORMATION
The following errors typically denote some form of corruption in the database.
Error Number 3197:
Error message:
The Microsoft Jet database engine stopped the process because you and another user are attempting to change the same data at the same time.
Cause/Problem:
This error typically occurs when a long value column (an OLE or MEMO data-type) has bad data stored in it. Long value columns are typically stored in a separate page from the page that the row is stored in. If a long value column is present in the table schema, the Jet database engine will attempt to read the long value page when reading the row of data. In order to read the long value page, there is a pointer in the row of data. This error is generated when the Jet database engine cannot properly read the long value page from the pointer present in the data row. When viewing a row that exhibits this behavior in Microsoft Access data-windows, the user will typically see the number sign (#) for the entire row.
Error Number 3343
Error message:
Unrecognized database format 'databasename.mdb'.
Cause/Problem:
This is typically caused when the Jet database engine was improperly shut down during the process of writing to disk.
Error Number 3015
Error message:
'databasename.mdb' isn't an index in this table. Look in the Indexes collection of the TableDef object to determine the valid index names.
Cause/Problem:
This error message is typically caused when there is an index missing on the MSysObjects table. This is typically caused if the repair process is aborted.
RESOLUTION
The Microsoft Jet database engine version 3.51 has an enhanced compact process designed to remedy the problems (if possible) described in the "More Information" section. The improved compact process now assumes all the functionality of the repair process, and therefore it is no longer recommended that you use the Jet database engine repair process.
NOTE: The Microsoft Jet database engine version 3.51 update is designed for Microsoft Access 97. You can run the compact utility on a database created in an earlier version of Microsoft Access; however, running the compact utility, "JETCOMP.exe", requires that Microsoft Access 97 be installed on your computer.
For more information about downloading the Jet database engine 3.51, please see the following article in the Microsoft Knowledge Base:
172733 ACC97: Updated Version of Microsoft Jet 3.5 Available for Download
REFERENCES
For more information about the enhanced compact process of the Jet database engine 3.51, please see the following file, which is included as part of the Jet35sp3.exe (Jet 3.51 update) download:
Jet35SP3.doc
For more information about Microsoft Access 97 error codes, search the Help Index for "reserved error codes," or ask the Microsoft Access 97 Office Assistant.
For more information about repairing Jet databases, please see the following article in the Microsoft Knowledge Base:
109953 ACC: How to Repair a Damaged Database
"Microsoft Jet db engine stopped the process because you and another user are attemplting to change the same data at the same time"
Getting this error more and more and it's not true. No two people are on the same records when this happens. Is it because I can't compact and repair the db?
(I can't because I get another error, (see old problem)
THanks
Karen
Re: Microsoft Jet db engine stopped the process error [Re: KSADolphin]
Posted on 07/12/03 12:40 PM
Posted by mishej - UA Editor + Utter Access Ruler
Posts: 4195 - Loc: Milwaukee, WI • Edit
• Reply
• Quote
• Quick Reply
• Print this post
• Favourite Post
• Notify Moderator
• Top of page
Sounds like you have some corruption in your database. I'd first try to locate some backups in case you have to rely on them. Then make a backup of the current .mdb file before trying any corrective action on it.
I guess I would start by creating a new blank database and importing all the objects from the corrupted database. This by itself may not fix the problem since the corruption may be in a particular form, query, macro, report or module or even one of the tables.
After importing the objects into a new blank database, you'll need to compile and save any code (modules, forms) and then compact it - you should be able to compact it cleanly. If not the corruption is still there.
You may then have to repeat the process, importing just the tables into a clean database and then compacting. Then importing half the forms, compacting, etc.. until you find the object causing the problem.
Alternately you could use a good backup and import objects from it.
--------------------
'-----------------------
' John Mishefske
'-----------------------
http://www.mvps.org/access/tencommandments.htm
Re: Microsoft Jet db engine stopped the process error [Re: mishej]
Posted on 07/15/03 01:33 AM
Posted by KSADolphin - Utter Access Enthusiast
Posts: 24 - • Edit
• Reply
• Quote
• Quick Reply
• Print this post
• Favourite Post
• Notify Moderator
• Top of page
I found that it's 2 tables that are corrupt. I can't copy and paste to a new identical table. Can I import from one db to another and if so what is the syntax.
I know 'insert into" but how do you insert from one to another. I can't export the bad tables cause it won't let me.
Re: Microsoft Jet db engine stopped the process error [Re: KSADolphin]
Posted on 07/15/03 01:49 AM
Posted by Spokes - Utter Access Veteran
Posts: 259 - Loc: Southwest, MO, USA • Edit
• Reply
• Quote
• Quick Reply
• Print this post
• Favourite Post
• Notify Moderator
• Top of page
Go to the new db. Then, File, Get External Data, import. Navigate to the bad .mdb and see if it will import.
I've had it happen and I was not able to import. I had to use a DAO connection and open two recordsets. One for import and one for output. I read the bad table record by record, field by field. If they read OK, I wrote them to the output recordset. If there was a problem, I had the code stop, so I could determine which record was bad. Luckily, the problem was a corruption in a comments field and it was OK that that comment field ended up blank.
Have you worked with VBA and DAO?
I hope this helps.
Bob
Re: Microsoft Jet db engine stopped the process error [Re: Spokes]
Posted on 07/15/03 02:33 AM
Posted by KSADolphin - Utter Access Enthusiast
Posts: 24 - • Edit
• Reply
• Quote
• Quick Reply
• Print this post
• Favourite Post
• Notify Moderator
• Top of page
No experience with VBA or DAO? Tried to import and no go. It won't export into any type of file. It keeps saying the record set is in use. UGH. Can i import from one db to the other with an insert command? If not, is it hard to learn the VBA or DAO thing?
Re: Microsoft Jet db engine stopped the process error [Re: KSADolphin]
Posted on 07/15/03 02:44 AM
Posted by KSADolphin - Utter Access Enthusiast
Posts: 24 - • Edit
• Reply
• Quote
• Quick Reply
• Print this post
• Favourite Post
• Notify Moderator
• Top of page
ALso, when I try to copy ANY table it says "could not create, do not have modify design permissionf or the table or query". I should have any permission set at this point. I took permissions away a long time ago. How can I check or remove this?
毫无疑问,你的Access数据库损坏了。是否能够修复很难说,只能死马当活马医了。你可以参考一下微软的Knowledge Base的文章:“Q172733 CC97: Updated Version of Microsoft Jet 3.5 Available on MSL”。这篇文章介绍了如何升级Jet引擎和使用修复工具jetcomp.exe。