FIX: Microsoft Oracle Provider Leaks Memory Through ICommandText[oledb] (236583)



The information in this article applies to:

  • Microsoft OLE DB Provider for Oracle 2.1
  • Microsoft OLE DB Provider for Oracle 2.5

This article was previously published under Q236583

SYMPTOMS

The Microsoft OLE DB Provider for Oracle leaks memory when you use ICommandText::SetCommandText(), ICommandText::Execute(), and ICommandText::Release().

RESOLUTION

A supported fix that corrects this problem is now available from Microsoft, but it has not been fully regression tested and should be applied only to systems experiencing this specific problem. To resolve this problem, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information on support costs, please go to the following address on the World Wide Web: The English version of this fix should have the following file attributes or later:

File Name        Date       Size      Version       
---------------- --------- --------- ------------- 
 msdaora.dll      7/28/99   188,176   2.12.4328.0

				

STATUS

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

This problem was corrected in MDAC 2.5.

MORE INFORMATION

The following code reproduces the memory leak:

hr = pIDBCreateCommand->CreateCommand( NULL,
	IID_ICommandText, ( IUnknown ** ) & pICommandText );

hr = pICommandText->SetCommandText( DBGUID_DBSQL, wSQLString );

hr = pICommandText->Execute( NULL, IID_IRowset, NULL,
	& cRowsAffected, ( IUnknown ** ) & pIRowset );

if( pIRowset )
	pIRowset->Release();

hr = pICommandText->Release();
				

Modification Type:MinorLast Reviewed:9/22/2005
Keywords:kbHotfixServer kbQFE kbbug kbfix kbMDAC250fix kbMDACNoSweep kbOracle KB236583