Follow-up to the follow-up.

Wrote a subclass for JdbcClientHelper, figured out how to register it as a 
ClientHelper. Overrode/reimplemented the handle() and handleSqlRequest() 
functions, specifying a statement that returns a scrolling ResultSet, and it 
works fine, even on Informix!

--------------------------
John Wismar
Alldata Technology
916-478-3296

> -----Original Message-----
> From: John Wismar [mailto:[email protected]]
> Sent: Thursday, January 26, 2012 11:42 AM
> To: [email protected]
> Subject: RE: JDBC Extension, problem with TYPE_FORWARD_ONLY RowSet
> 
> 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?

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2911391

Reply via email to