Article: Q159571
Product(s): Open Database Connectivity (ODBC)
Version(s): WINDOWS:2.5,4.0; winnt:6.0,6.5
Operating System(s):
Keyword(s):
Last Modified: 11-MAR-2000
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft SQL Server versions 6.0, 6.5
- Microsoft Open Database Connectivity, version 2.5
- Microsoft Visual Basic Enterprise Edition for Windows, version 4.0
-------------------------------------------------------------------------------
SYMPTOMS
========
If an ODBC application uses SQLCancel instead of SQLFreeStmt to close an ODBC
cursor after some data has been processed, the ODBC cursor library version 2.5
may generate a memory leak.
A Visual Basic 4.0 application may encounter this problem if the application uses
the Requery method of an RDO Resultset. The ReQuery method internally invokes
SQLCancel instead of SQLFreeStmt and SQL_CLOSE to close the statement handle,
before binding the parameters and results.
CAUSE
=====
An ODBC application should only call SQLCancel when dealing with asynchronous
processing. ODBC applications should always use SQLFreeStmt and SQL_CLOSE rather
than SQLCancel to close the statement handle.
For more information on how to use SQLCancel, please refer to Microsoft ODBC 2.0
Programmer's Reference and SDK Guide.
MORE INFORMATION
================
A Visual Basic application can call the Close and OpenRecordset methods instead
of ReQuery. The Close method invokes SQLFreeStmt and SQL_CLOSE to close the
statement handle.
Additional query words: 2.50 4.00
======================================================================
Keywords :
Technology : kbVBSearch kbSQLServSearch kbAudDeveloper kbZNotKeyword6 kbSQLServ600 kbSQLServ650 kbZNotKeyword2 kbODBCSearch kbVB400Search kbVB400 kbODBC250
Version : WINDOWS:2.5,4.0; winnt:6.0,6.5
Issue type : kbprb
=============================================================================