FIX: Java OLE DB Simple Provider Crashes in Recordset.Delete() Method (236044)



The information in this article applies to:

  • Microsoft Data Access Components 2.1 (GA)
  • Microsoft Data Access Components 2.5
  • OLE DB Simple Provider Toolkit 2.0
  • Microsoft Visual J++ 6.0
  • Microsoft Data Access SDK 2.1
  • Microsoft Data Access SDK 2.0
  • Microsoft Data Access SDK 2.01

This article was previously published under Q236044

SYMPTOMS

When using the OLE DB Simple Provider for Java, and when using the Recordset.Delete method, the following errors occur depending on the language that the recordset is used from:

In Visual C++

Unhandled exception in <program.exe> (MSDAOSP.DLL): 0xC0000005: Access Violation

In Visual Basic or Visual J++

The instruction at "<hex address>" referenced memory at "0x00000000". The memory could not be "read".

CAUSE

This error is caused by an attempt to use an invalid rowset interface within DeleteRowsetHelper.

RESOLUTION

This problem has been fixed with Microsoft Data Access Components (MDAC) 2.1 Service Pack 2 (SP2). You can the latest download MDAC from the following Microsoft Universal Data Access Web site:

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

The new release of MDAC also fixes a reference counting problem in the Java OLE DB Simple Provider, which causes unpredictable results and access violation errors (refer to the article in the References section).

REFERENCES

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

225047 BUG: Java OLE DB Simple Provider Does Not Work Reliably


Modification Type:MajorLast Reviewed:9/24/2003
Keywords:kbBug kbDatabase kbfix kbMDAC210SP2fix kbMDACNoSweep KB236044