Shared MS Access 97 database causing 100% CPU usage on client workstation.


We have an MS Access 97 databse stored on a network server that is shared by 30 to 40 users.  The server hosting the db and the client switch both have a GigE connection to the Cisco core switch.  The switches are optimized, spanning tree is correctly configured, portfast is enabled on the workstation ports and not on the uplinks, etc.  Optimal network configuration, and everything is extremely fast.

The domain is Windows NT 4.0 based.  The server hosting the db is Win2k Adv. Server, Compaq Proliant, dual PIII 1Ghz Xeons with 4 GB RAM.  The client workstations are both WinXP and WinNT, P3 and P4, from 64 mb of RAM to 368 mb of RAM, running both Office 2000 and MS Access 97.  The db is accessed through a proprietary C+ app developed within our organization (it's garbage), and is only compatible with Access 97.  Users access the db through a mapped drive created at logon, and the script calls the server by ip address, not the netbios name.

Using MS Access 97 itself causes no issues, and accessing a db on the network works without any issues.  When this application opens this 100mb Access 97 database, the CPU goes straight to 100%.  After you login to the application to use the database, the CPU remains at 100% for close to 3 or 4 minutes before returning to normal.  At this point, simply clicking the mouse on an empty part of the application window will send the cpu back to 100% for 30 or 40 seconds.

We will be migrating to AD in the next 6 months, so please, no suggestions regarding our archaic infrastructure.  We have no control over those aspects of this scenario, as it is dictated by others who know nothing technical.


1.  Could this be a version compatability issue of either MDAC or MS Jet?  

2.  Could this have anything to do with the fact that Access 2000 and Access 97 are both installed on the workstation (in seperate directories)?

3.  Is there a Windows XP (SP1) service that if it were disabled, would have a negative impact on the accessing of a shared database in these conditions?  Same question for Windows NT Workstation.

4.  Is there a Win2k Adv. Server service or process that could help or hinder this?

I understand that there are lot more variables in play here, but they would take forever to list.  But I will provide more info if requested.  The app developer is convinced that this is a network problem, when it is clearly not.  Any help is much appreciated.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
cjansen75Author Commented:
I should also clarify that the application is completely unresponsive, and 50% of the time it will never come back to a responsive state.
Hello cjansen75,

All Access97 apps will show 100% cpu usage when they can, for reasons indicated in the article that  shanesuebsahakarn mentioned.

However you are not using Access in this application.  You are using the Jet database engine, which is often inaccurately referred to as 'Access'.  The 100% issue is an Access GUI issue and (as I understand it) is nothing to do with Jet.
Therefore the problem would seem to lie in your C++ application and I don't think you'll get much help in this forum with C++.

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

cjansen75Author Commented:
Thank you Pete.  Not being database oriented, I wasn't really sure what the right questions would be on this.

Is it possible that an older application would experience incredibly slow performance with a newer version of Jet.  

The Jet version will be specified in the program I imagine, so it will be Jet3.5 for an app developed alongside A97.  I can't make any comment about C++ but in access or VB there are no issues that I'm aware of in using Jet4.0 with an 'access97' file.

cjansen75Author Commented:
The real problem here is that the application is garbage, but we have no say in the matter.  I'm trying to contact the developers, but haven't had any luck.  It looks like all signs point to the application here, but unfortunately, I have no way of doing much to the application itself.  I appreciate your input.
Just re-reading your original post.
Can you clarify WHERE you are seeing this cpu usage? (Client or servermachine?)
(Not that I have any clues but it might be relevant)

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.