Subject Re: Whether is JayBird just a lot of "not yet implemented" methods ?
Author Roman Rokytskyy
> And now, take a look at FBPreparedStatement.java, FBField.java.
> A _lot of methods simply throws new SQLException("not yet
> implemented").

FBField.java is an abstract class. By default it throws these
exceptions, and all subclasses implement only these methods that are
allowed by JDBC specification.

In FBPreparedStatement.java unimplemented features are batches (not
directly supported by server), refs (not supported by server), clobs
(not supported by server) and arrays (not yet implemented). All other
unimplemented methods are JDBC 3.0.

> For example, FBPreparedStatement.setDate() just throws new
> SQLException("Error converting to date."), so I am
> unable to perform such simple operation :(( - I can't believe that !

Sorry, you are doing something wrong. See JDBC specification for a
list of possible conversions (page B-181 of JDBC 3.0 specification).
There exist automatic conversion between java.sql.Date and
java.sql.Timestamp and java.sql.Date and java.lang.String. All other
conversions are not allowed. If you try to convert a different type,
and this is supported by some driver, you rely on non-JDBC
functionality.

> Q 1: What I should to do, in order to insert row in a db table which
> contains DATE column (for example) ?

Use PreparedStatement.setDate(), PreparedStatement.setTimestamp() or
PreparedStatement.setString() methods. Also you can use
PreparedStatement.setObject() passing the java.sql.Date instance.

> Q2: (more complicated): how I can to 'explain' that, in a way,
> which my J2EE server can 'understand'
> (he uses PreparedStatement) ?

See your J2EE server documentation on specifying mapping for CMP
beans. This is not driver issue.

> Q3: (more important) : Whether exists a 'real' JDBC driver (other
> than interClient & JayBird) for the Firebird/Interbase RDBMS ,
> which really implements a full set of JDBC 2.0 methods ?

JayBird is the most JDBC 2.0 compliant driver for Firebird. For
InterBase you can check InterClient 2.5 or InterClient 3.0. Note,
they are not free.

Best regards,
Roman Rokytskyy