Re: Oracle10g/11g, scrollable cursors, and JDBC scrollable result
Date: Wed, 1 Oct 2008 08:11:43 -0700 (PDT)
On Sep 30, 6:51 pm, jms <jesus.m.sa..._at_gmail.com> wrote:
> According to the following documents from Oracle's JDBC drivers for
> 10g and 11g:
> To quote:
> "Oracle JDBC Implementation for Result Set Scrollability
> Because the underlying server does not support scrollable cursors,
> Oracle JDBC must implement scrollability in a separate layer.
> It is important to be aware that this is accomplished by using a
> client-side memory cache to store rows of a scrollable result set.
> Because all rows of any scrollable result set are stored in the client-
> side cache, a situation where the result set contains many rows, many
> columns, or very large columns might cause the client-side Java
> virtual machine (JVM) to fail. Do not specify scrollability for a
> large result set."
> But Oracle's own documentation for the database server itself says
> that it does support scrollable cursors:
> So the question is ... what does Oracle's JDBC thin driver actually
> do ??
Implements JDBC 2.0 result set functionality.
> Does it use a scrollable cursor or not ?
It does what the documentation which you posted states:
"Because the underlying server does not support scrollable cursors, Oracle JDBC must implement scrollability in a separate layer.
It is important to be aware that this is accomplished by using a client-side memory cache to store rows of a scrollable result set."
The links to the java implementation provide examples of java-style scrollable cursors. The commands to manipulate those differ greatly from those available in OCI/OCCI.
> If not, which one does ?
The scrollable cursors you refer to, mentioned in the last link provided by your post, are an OCI/OCCI implementation, which is an entirely different programming interface. Visit that link again and you'll see, down the page, an example of an OCI scrollable cursor.
David Fitzjarrell Received on Wed Oct 01 2008 - 10:11:43 CDT