Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to Free SQLFetch()-Allocated Resources?

386646Jan 29 2003 — edited Apr 23 2003
For performance reasons, we'd like to keep our database connection open over long stretches of time (weeks).

However, we've found that the memory SQLFetch() allocates to hold the result set isn't freed by SQLCloseCursor()/SQLFreeHandle(SQL_HANDLE_STMT)! We know this from the "Mem Usage" column in the Windows NT Task Manager "Processes" tab--it goes up several KB when we call SQLFetch() and stays there after we've called SQLCloseCursor()/SQLFreeHandle(SQL_HANDLE_STMT).

In our configuration (see below), ONLY closing the database connection via SQLDisconnect()/SQLFreeHandle(SQL_HANDLE_DBC) frees up this memory.

As a control, we've tried the same query against a FoxPro file database. The FoxPro driver SQLFetch() does not allocate enough additional memory to show up in the task manager.

Are we missing some extra step that is necessary for the Oracle ODBC driver to free this memory while keeping the connection open?

Thanks!

============================

Client configuration:
· Microsoft Windows NT, version 4.0, service pack 6
· Microsoft ODBC, version 3.520
· Oracle ODBC driver, version 9.2.0.3.0
· Oracle9i Client, release 2 (version 9.2.0.1.0)
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 21 2003
Added on Jan 29 2003
2 comments
300 views