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
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>