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

Reply via email to