PRB: Oracle Driver Does Not Support Dynasets
Article ID: 141716
Article Last Modified on 7/30/2001
APPLIES TO
- Microsoft Visual C++ 4.0 Standard Edition
This article was previously published under Q141716
SYMPTOMS
When using the 32-bit ODBC driver for Oracle that is distributed with
Visual C++ 4.0, you may see the following message in your debug output
window:
Warning: SQLExtendedFetch not supported by driver
and/or cursor library not loaded. Opening forwardOnly.
You may also experience an unhandled exception accompanied by the
following messages in your debug output window:
Error: failure updating record
Function sequence error
State:S1010,Native:0,Origin:[Microsoft][ODBC Driver Manager]
First-chance exception in MyExe.exe (MFCD40D.DLL): 0xE06D7363:
Microsoft C++ Exception
Recordset is read-only
First-chance exception in MyExe.exe (MFCD40D.DLL): 0xE06D7363:
Microsoft C++ Exception
CAUSE
You are attempting to open and use a CRecordset object as a dynaset.
The driver does not support the ODBC API function SQLExtendedFetch.
SQLExtendedFetch is required by SQLSetPos and SQLSetPos is required
to provide dynasets.
CRecordset::OnSetOptions() queries the driver to see if SQLExtendedFetch is
available. When it finds that SQLExtendedFetch isn't available, it opens
the recordset as forwardonly. This generates the first warning message.
The last two error messages listed occur when you call CRecordset::Edit()
to edit a record.
The rest of the error messages occur when you call CRecordset::AddNew() and
CRecordset::Update to add a record.
RESOLUTION
You can use snapshots to create a scrollable, updatable recordset. The ODBC
Cursor Library is loaded when using snapshots, which provides the
functionality needed for a scrollable, updatable recordset.
Keywords: kbinterop kbdatabase kbprogramming kbprb kb3rdparty KB141716