PRB: Oracle Cursors Remain Open After Calling VB rdoQuery (183639)
The information in this article applies to:
- Microsoft ODBC for Oracle version 2.0 Build 2.73.7283.03
- Microsoft ODBC for Oracle version 2.5 Build 2.573.2927
- Microsoft Visual Basic Enterprise Edition for Windows 4.0
- Microsoft Visual Basic Enterprise Edition for Windows 5.0
- Microsoft Visual Basic Enterprise Edition for Windows 6.0
This article was previously published under Q183639 SYMPTOMS
Calling the rdoQuery object in Visual Basic 5.0 or later or a Remote Data
Object (RDO) PreparedStatement in Visual Basic 4.0 opens three Oracle
cursors; two remain open after closing the rdoQuery or PreparedStatement
object.
These cursors should not be confused with cursors that return data. Oracle
opens cursors internally, and they are defined as follows:
A cursor is a synonym for context area - a work area in memory where
Oracle stores the current SQL statement. For a query, the area in memory
also includes column headings and one row retrieved by the Select
Statement.
CAUSE
Oracle provides an API to get the stored procedure information. This API is
called, in the case of a stored procedure execution, to get the parameter
information. The API generates two additional cursors, which are not
released until the logoff request happens. These cursors do not increase
when you attempt multiple executions.
RESOLUTION
This behavior is by design.
Modification Type: | Major | Last Reviewed: | 6/29/2004 |
---|
Keywords: | kb3rdparty kbAPI kbOracle kbprb KB183639 |
---|
|