db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mamta Satoor <ma...@Remulak.Net>
Subject Re: Rowset shortcomings
Date Sat, 04 Sep 2004 01:19:03 GMT
Hi Ed,

It seems like JdbcRowSetImpl is internally making a call to
Connection.setTypeMap
which is not yet implemented by Derby and that's why the exception.

Mamta

Edward Rayl wrote:

> I'm working on some JDBC text that runs the same code on four different
> databases: Oracle, MySQL, HSQLDB, and Derby.  In my Rowset example, all
> databases behave correctly except Derby.  The code is shown below (I
> have omitted the DBUtil wrapper class to keep this message short).  If
> I omit the bind parameter and setInt(), it makes no difference.  The
> same version, implemented as a ResultSet, works fine.  The errors are:
>
>  >JdbcRowSet (setTypeMap): Feature not implemented: no details.
> which occurs on the statement: jrs.execute();
>
> and the next error is:
>
>  >SQL Exception when closing database resources
>  >SQL State:   XJ012
>  >Vendor code: 20000
>  >Message:     'Connection' already closed.
> which occurs when closing the connection.
>
> I'm assuming that the problems are with Derby since this code runs on
> the other three databases without incident.  Any insights?  BTW, I've
> had not had a problem with a CachedRowSet test on Derby.
>
> Ed
> ----------------------------------------------------------------------
> import java.sql.*;
> import com.sun.rowset.*;
> import oi.util.DBUtil;
>
> public class DisplayEmployeesRs
> {
>     private static Connection conn;
>     private static JdbcRowSetImpl jrs;
>     private static String query = "select * from employee where salary < ?";
>
>     public static void salariesRowSet()
>     {
>         try
>         {
>             conn = DBUtil.getConnection();
>             jrs = new JdbcRowSetImpl(conn);
>             jrs.setCommand(query);
>             jrs.setInt(1, 20000);
>             jrs.execute();
>             while (jrs.next())
>             {
>                 String first = jrs.getString("firstname");
>                 String last = jrs.getString("lastname");
>                 int salary = jrs.getInt("salary");
>                 System.out.println(first + " " + last + ": " + salary);
>             }
>         }
>         // code omitted here
>         DBUtil.close(jrs);
>         DBUtil.close(conn);
>     }


Mime
View raw message