Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Oracle 8i type4 jdbc driver (classes1.2.zip) refreshRow() error...

63 views
Skip to first unread message

david h

unread,
Mar 28, 2000, 3:00:00 AM3/28/00
to
Hi there,

I am implementing a distributed app using Oracle8 Server and the Oracle
8i 8.1.6 driver for JDK 1.2.x . I have created a prepared statment
which uses the scrollable result set as follows:

do connection stuff...
...
PreparedStatement pstmt2 = null;
String query2 = "Select ......";
pstmt2 = con.prepareStatement(query2,ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
...
execute it...
...
scroll through result set using myRs.next() and myRs.relative() .

Anyway, this code works for result sets with only 5 or 6 rows in the
result set, but when I return 8 or more I get the error below.
I checked the bug list and refreshRow() is supposed to work for the type
of prepared statement I've set up.
Does anyone know if there is a work around???

ERROR::
Exception! java.sql.SQLException: operation not allowed: Unsupported
syntax for refreshRow() at
oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:197) at
oracle.jdbc.driver.SensitiveScrollableResultSet.refreshRow(SensitiveScrollableResultSet.java:174)
at
oracle.jdbc.driver.SensitiveScrollableResultSet.handle_refetch(Compiled
Code) at
oracle.jdbc.driver.SensitiveScrollableResultSet.next(Compiled Code) at
GRSTest.GRSTest.formatGRSTable(GRSTest.java:313) at
GRSTest.GRSTest.query(GRSTest.java:184) at
GRSTest.GRSTest.doPost(GRSTest.java:36) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:521) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:588) at
sun.servlet.http.HttpServerHandler.sendResponse(HttpServerHandler.java:165)
at
sun.servlet.http.HttpServerHandler.handleConnection(HttpServerHandler.java:121)
at
sun.servlet.http.HttpServerHandler.run(Compiled Code) at
java.lang.Thread.run(Compiled Code)

--------------------------------------------------------------
David Hauser
Systems Analyst
Office of the Registrar and Student Awards
University of Alberta
Edmonton, CANADA
(780) 492-1957
david....@ualberta.ca

Martin Ramshaw

unread,
Mar 30, 2000, 3:00:00 AM3/30/00
to
Sounds like a combination of two things; server-side buffering and
a scroll-sensitive resultSet. From your comments, I'd guess the
server-side buffer caches somewhere between 6-8 records.

When you need to access records not in the cache, the buffer
needs to be refreshed from the database (since you have defined
the resultSet as scroll-sensitive). I'd look at increasing the buffer
cache size, or else using a scroll-insensitive resultSet.

All of the above assumes that resultSet.relative() works correctly
(as you say it does) which indicates that you really *do* have a
JDBC 2.0 driver.

My $0.02.

david h wrote in message <38E10297...@ualberta.ca>...


>Hi there,
>
>I am implementing a distributed app using Oracle8 Server and the Oracle
>8i 8.1.6 driver for JDK 1.2.x . I have created a prepared statment
>which uses the scrollable result set as follows:

<snip>

0 new messages