PRB: Oracle Driver Does Not Support Dynasets (141716)
The information in this article applies to:
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.
Modification Type: | Major | Last Reviewed: | 7/30/2001 |
---|
Keywords: | kb3rdparty kbDatabase kbinterop kbprb kbprogramming KB141716 |
---|
|