Follow-up. On January 20, I wrote: > I am writing a standalone app, using some of the Restlet client utilities for > convenience. (This app is using Restlet 2.1 RC2, and Java 7.) > > I'm trying to read some data from an Informix database (using JDBC IfxDriver > v3.7). When I send my JDBC query, I get an exception > from Informix indicating that the RowSet is TYPE_FORWARD_ONLY. The exception > happens in RowSetRepresentation.create() > when trying to populate the WebRowSet object. (CachedRowSet.populate() calls > ResultSet.absolute().) > > I tracked down the location where the SQL statement appears to be created > (JdbcClientHelper.handleSqlRequests()) and it > looks like it's calling Connection.createStatement(), which does create a > statement that returns a TYPE_FORWARD_ONLY > ResultSet. (There's a different overload that creates different ResultSet > types.) I don't see a way to get JdbcClientHelper to > request a scrollable ResultSet (so the call to absolute() won't fail). >
I did some further research on this, and found that this is an issue with the Informix driver, but not an issue with the MySQL driver. Apparently Informix insists that you can't call absolute() on FORWARD_ONLY ResultSets, but MySQL's driver allows it. (I have a sample app that demonstrates the problem. It's not very useful without an Informix DB to test against, though.) So I'm kind of stuck. The JdbcClientHelper doesn't allow me to request statements returning a scrollable ResultSet. Is the best way forward to create a new client helper, possibly a subclass of JdbcClientHelper? What do I then need to do to register the ClientHelper object for JDBC calls? Thanks for your help! -------------------------- John Wismar Alldata Technology 916-478-3296 ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2911359

