Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle ODBC driver : SQLExtendedFetch() is not supported ?

Re: Oracle ODBC driver : SQLExtendedFetch() is not supported ?

From: DNP <High.Flight_at_btinternet.com>
Date: 2000/04/14
Message-ID: <38F796EA.50DC@btinternet.com>#1/1

The only workaround possible is the one you've already described.

This is all due to the fact that Oracle will only give you forward-scrollable read-only cursors (and only these).

The reasons for this are generally scalability (i.e. not needing to make many similar copies of data all over the place).

Its not an error but a design fact of the Oracle server.

David P.

Oracle Certified DBA.


Charly le Transalpien wrote:
>
> Hello,
>
> We have that application developped in C, compiled for Windows32 with MS
> Visual C++ 6, using ODBC for database access. We used it for for years
> with some simple databases (like MS-Access, dBase, etc...) and some
> real servers (SQL Server, both Sybase and MS). Now with Oracle we
> encounter this problem :
>
> We have an Oracle 8i server (Oracle 8.1.5.0.0) and client running on
> Windows NT 4 boxes...
>
> When we use the Oracle ODBC driver, we got this error :
>
> ---
> SQLExtendedFetch Error1 : [Oracle][ODBC]Optional feature not
> implemented.;
> SQLstate: HYC00
> ---
>
> With the latest Intersolv driver for Oracle 8i, we got that error
> (little more precise btw):
>
> ---
> SQLExtendedFetch Error1 : [INTERSOLV][ODBC Oracle 8 driver]
> In SQLExtendedFetch, only SQL_FETCH_NEXT is supported for
> SQL_SCROLL_FORWARD_ONLY cursors.;
> SQLstate: HY106
> ---
> In both cases, the error occurs in a call to SQLExtendedFetch(). In
> http://www.orafaq.org/faqodbc.htm#COMPLY we learned that Oracle 7 ODBC
> driver doesn't support Level 3 ODBC (SQLExtendedFetch() is of course
> part of it !). Has Oracle 8 driver the same limitation ?
>
> Does anyone have a workaround for this ? We have a solution with
> SQLFetch() (the only fetch that works) and SQLCancel() which brings you
> back to first row of your cursor, but if you want to go from record
> number 1500 to record number 1499, you have to cancel and go away step
> by step (fetch by fetch) 1499 times to get the row !!!! And of course we
> plan to use our software with much bigger tables...
>
> If any solution exists, like workaround development or - better - third
> party driver that provides level 3 ODBC for Oracle, please let us
> know...
>
> Thanks in advance,
>
> Charly
>
> --
> clebrun.no.spam_at_cetiis.fr
> Remove ".no.spam" to mail me. / Supprimer ".no.spam" pour m'envoyer des
> mails.
Received on Fri Apr 14 2000 - 00:00:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US