JayBird Release Notes
Type 4 JCA/JDBC Driver for Firebird
- Last Updated 2/3/03 -
2. Where to get more information on JayBird 6. Participating in the Development Project |
The firebird team has implemented a pure java driver for firebirdsql. This driver allows a Java program to connect to, send queries to, and get results from a Firebird SQL Database. It is an alternative to the Interclient JDBC Driver. The open source version of Interclient is not actively supported at this time. This makes the JCA-JDBC Driver the best option for Java development with an open source driver.
This driver is based on both the new JCA standard for application server connections to enterprise information systems and the well known JDBC standard. The JCA standard specifies an architecture in which an application server can cooperate with a driver so that the application server manages transactions, security, and resource pooling, and the driver supplies only the connection functionality. While similar to the JDBC 2 XADataSource idea, the JCA specification is considerably clearer on the division of responsibility between the application server and driver.
The JCA-JDBC driver has several major advantages over Interclient. Because it Implements the JCA specification, it can be used seamlessly with J2EE containers that support JCA functionality.
It also has a built-in connection pooling capability for use with stand-alone programs or J2EE containers that don't support connection pooling internally. Java programs run much faster with connection pooling because the overhead of connection setup and teardown is greatly reduced.
Perhaps the biggest advantage is that Interserver is not needed with this driver. Interserver had to be installed on the Firebird/Interbase server machine for the Interclient JDBC driver to work. The elimination of Interserver simplifies the installation of the Firebird database, and reduces the load on and maintenance of the database server system.
The driver implements much of the JDBC 2 Specification. More information on the JDBC 2 Specification can be found on the net at http://java.sun.com.
2- Where to get more information on JayBird
The most detailed information can be found in the JayBird Frequently Asked Questions
(FAQ). The FAQ is included in the distribution, and is available online in several
places. See Frequently Asked Questions below for details.
In your browser go to:
http://sourceforge.net/projects/firebird/
Scroll down the page and find the row containing:
firebird-jca-jdbc-driver
Click the link "Download" in the rightmost column of the table in that row. This links you to another page with the zip files of the various versions of the driver available to be downloaded. The driver will have the heading "firebird-jca-jdbc-driver". Click on the version you wish to download. It looks something like: FirebirdSQL-1.x.zip.
This will download the driver files to your system. Unzip the file and copy the contents to the appropriate directories on your system as described in #4 "Installing the Driver" below.
More recent bugfix versions of the driver can be obtained by downloading the
daily snapshot of the project through CVS and building the project. See the
FAQ for details.
The classes from firebirdsql.jar must be in the classpath of the Java application being compiled, or otherwise made available to your application. The classes from the following packages must also be available:
mini-concurrent.jar
jaas.jar (built into jdk 1.4, this jar is not needed if you are running JDK 1.4 or higher)
mini-j2ee.jar
log4j-core.jar (if you want logging available)
firebirdjmx.jar (if you want to use the management utilities)
These archives are included in the binary package.
You can use the jmx management mbean either in a jmx agent (MBeanServer) or as a standalone class. So far it has been tested in jbossmx and the jmxri, although since it is extremely simple it should have no problems in any jmx implementation. Use of jbossmx is highly recommended due to its smaller bug count and because it is in active development.
For use in a managed environment as a JCA resource adapter, deploy firebirdsql.rar according to the environment's deployment mechanism.
For installation in Tomcat, JBoss, JBuilder, and for use with stand alone Java programs see the corresponding sections in the FAQ.
The developers attempt to follow the Firebird-Java@yahoogroups.com list. Join the list (see #9 below) and post information about suspected bugs. This is a good idea because what is often thought to be a bug turns out to be something else. List members may be able o help out and get you going again, whereas bug fixes might take awhile.
You may also report bugs in the firebird bugtracker at:
http://sourceforge.net/tracker/?group_id=9028&atid=109028
6- Participating in the Development Project
Use the Firebird-Java@yahoogroups.com
list to contact the developers about helping out (see #9 below).
Perhaps the most crucial need right now is for more and better setup and usage
guides, and to produce a reasonable section of the Firebird web site devoted
to this driver. Work on this would be greatly appreciated.
The best place to start is the FAQ. Many details for using JayBird with various
programs are located there. Below are some links to useful web sites.
The Firebird-Java mail list: Firebird-Java@yahoogroups.com.
The code for Firebird and this driver are on www.sourceforge.net under the Firebird project.
The SourceForge Firebird project home page www.firebirdsql.com or firebird.sourceforge.net.
The IBPhoenix Firebird web site: www.IBPhoenix.com
The Sun Java web site: java.sun.com
The Jboss web site: www.jboss.org
The Jakarta Project Web Sites for Ant and Tomcat: jakarta.apache.org
1) 575397: SERIALIZABLE is not isc_tpb_consistency - there is no final agreement
between developers about mapping.
2) 630749: implement isc_info_sql_stmt_savepoint - will be implemented in JayBird
1.5.
3) 631090: Calling stored procedures - cannot be fixed with current Firebird
implementation.
4) 638074: JUnit Errors in JayBird Build - known issue, not driver problem,
but test case problem.
5) 645725: getBestRowIdentifier() not working - not yet implemented.
Monitor firebird-java@yahoogroups.com for daily updates
For details concerning which parts of the JDBC 2.0 specification are implemented,
see the FAQ.
You may report bugs in the firebird bugtracker at http://sourceforge.net/tracker/?group_id=9028&atid=109028
To join the Firebird-java mailing list, go to www.yahoogroups.com. Follow the instructions there for joining a group. The name of the group is Firebird-java.
Please set your Yahoo settings to use plain text instead of HTML. All the ads
drive some folks nuts and cause an automatic internet hookup for some folks
in Europe who have to pay for outgoing phone calls.
10- Frequently Asked Questions
The list of Frequently Asked Questions (FAQ) is included
with the distribution.
Online versions of it that may be more up-to-date are available on the project home page at http://firebird.sourceforge.net.
The following link takes you to the JayBird FAQ at www.IBPhoenix.com:
http://www.ibphoenix.com/main.nfs?a=ibphoenix&l=;IBPHOENIX.FAQS;NAME='JayBird'
11- Corrections/Additions To Release Notes
Please send corrections, suggestions, or additions to these Release
Notes to Rick Fincher at rnf@tbird.com,
or to the developers on the SourceForge site, or post them to the newsgroup
at Firebird-Java@yahoogroups.com.