Help and Support
 

powered byLive Search

FIX: Memory Leak in Microsoft Access ODBC Driver in MDAC 2.0

Article ID:195017
Last Review:December 3, 2003
Revision:2.0
This article was previously published under Q195017

SYMPTOMS

The Microsoft Access ODBC Driver, version 3.51.1713, which is provided with the Microsoft Data Access Components version 2.0, leaks memory when opening a connection, performing a query on that connection, and then closing the connection.

Back to the top

RESOLUTION

To work around this behavior, keep the connection open as long as possible. Minimizing the number of times you make a connection will minimize the memory leak.

Back to the top

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

This bug was corrected in in a newer version of the Access ODBCDriver included with MDAC 2.1.

Back to the top

MORE INFORMATION

As an example, the following code causes several hundred bytes to leak for each iteration through the loop:
   *****
   for(int nLoops=0; nLoops < 1000; nLoops++)
   {
     RETCODE rc;
     SQLAllocEnv(&henv);
     SQLAllocConnect(henv, &hdbc);

     SWORD nResult;
     UCHAR szConnectOutput[255];
     rc = SQLDriverConnect(hdbc, NULL,(UCHAR*)(const char*)"DSN=MYDSN",
                        SQL_NTS,szConnectOutput, 255, &nResult,
                        SQL_DRIVER_COMPLETE);

     SQLAllocStmt(hdbc, &hstmt);
     rc = SQLExecDirect(hstmt, (UCHAR *)"SELECT * from table1", SQL_NTS);

     SQLFreeStmt(hstmt,SQL_DROP);
     SQLDisconnect(hdbc);
     SQLFreeConnect(hdbc);
     SQLFreeEnv(henv);
   }
   *****
				

Back to the top


APPLIES TO
Microsoft Open Database Connectivity Driver for Access 3.5
Microsoft Data Access Components 2.0
Microsoft Data Access Components 2.1 Service Pack 2
Microsoft Data Access Components 2.5

Back to the top

Keywords: 
kbbug kbfix kbdatabase kbjet kbdriver KB195017

Back to the top

Article Translations

 

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.