Knowledge Base

PRB: Idle Jet Application Can Prevent Standby Mode

Article ID: 202376

Article Last Modified on 12/5/2003


APPLIES TO


This article was previously published under Q202376

SYMPTOMS

Applications that use the Microsoft Jet Database Engine can prevent a computer that supports the Advanced Power Management (APM) or the Advanced Configuration and Power Interface (ACPI) technologies from going into Standby mode.

CAUSE

If the application opens a database in shared mode using one of the Jet drivers with the default settings, the Microsoft Jet Database Engine reads from the database file every five seconds (or 5 milliseconds, depending on your PageTimeout settings). The resulting hard drive activity prevents the Standby mode from activating.

RESOLUTION

Either open the Jet database file in exclusive mode or close all database connections when your Microsoft Jet Engine using the application is idle.

STATUS

This behavior is by design.

MORE INFORMATION

The Microsoft Jet Database Engine invokes a background thread which monitors every database opened in non-exclusive (shared) mode. The Jet Engine uses a configuration setting called PageTimeout. PageTimeout determines when this background thread should check the database file for new updates. By default, PageTimeout is set to 5000, which is 5000 milliseconds or 5 seconds. (Note that in the recent versions of Jet 4.0 this number is set to 5 milliseconds by default.) So when using the default settings in multi-user access mode, every five seconds Jet reads a small amount of data from the database to check to see if anything has changed. You cannot turn off the PageTimeout feature when using a database in multi-user (shared) mode.

If you open a database exclusively, the background thread no longer needs to monitor the database file periodically. Opening a database exclusively improves performance, this is a desired mode if your application does not share the database with other clients.

Keywords: kbdatabase kbjet kbprb KB202376