FIX: Updates to Linked ODBC Tables Causes Access Violation in Msjet40.dll (277711)



The information in this article applies to:

  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.1 (GA)
  • Microsoft Data Access Components 2.1 SP1
  • Microsoft Data Access Components 2.1 SP2
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.5 SP1
  • Microsoft Data Access Components 2.6
  • Microsoft Access 2000 Service Release 1 (SR-1)

This article was previously published under Q277711

SYMPTOMS

When you update linked ODBC tables in a Microsoft Access database, an access violation occurs with the following message:
The instruction at '0x1b01a333' referenced memory at '0x0000000c'. The memory could not be 'read'.
This error message occurs when using Jet 4.0, and has occurred in both ActiveX Data Objects (ADO) and Data Access Objects (DAO) applications. The error can occur in a random fashion, and may not occur with every table update or in the same location each time.

CAUSE

Jet uses internal buffers for constructing the SQL UPDATE statement that is sent to the ODBC driver. An error in calculating the count of characters needed for the query causes a buffer overrun.

RESOLUTION

To resolve this problem, install the latest Jet 4.0 service pack. For additional information about how to obtain and install the latest Jet 4.0 service pack, click the following article number to view the article in the Microsoft Knowledge Base:

239114 How To: Obtain the Latest Service Pack for the Microsoft Jet 4.0 Database Engine

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article. This problem was fixed in Jet 4.0 Service Pack 6 (SP6).

Modification Type:MinorLast Reviewed:10/19/2005
Keywords:kbHotfixServer kbQFE kbBug kbfix kbJET kbQFE KB277711