To support DataSource objects, connection pooling, and distributed transactions, IBM Informix JDBC Driver provides classes that implement interfaces and classes described in the JDBC 3.0 API from Sun Microsystems.
The following table lists the Java interfaces and classes and the Informix classes that implement them.
IBM Informix JDBC Driver, Version 3.0, implements the new updateXXX() methods defined in the ResultSet interface by the JDBC 3.0 specification. These new methods, such as updateClob, are further defined in the J2SDK 1.4.x API and require that the ResultSet object be updateable. The updateXXX methods allow rows to be updated using Java variables and objects and extend to include additional JDBC types.
These methods update JDBC types implemented with locators, not the data designated by the locators.
To support the Informix implementation of SQL statements and data types, IBM Informix JDBC Driver provides classes that extend the JDBC 3.0 API. The following table lists the Java classes and the Informix classes that application programs can use to extend them.
JDBC Interface or Class | Informix Class | Adds Methods or
Constants for... |
---|---|---|
java.sql.Connection | com.informix.jdbc.IfmxConnection | Opaque, distinct, and complex types |
java.sql.Statement | com.informix.jdbc.IfmxStatement | Single result sets, autofree mode, statement types, and SERIAL data type processing |
java.lang.Object | com.informix.lang.IfxTypes | Representing data types |
java.lang.Object | com.informix.jdbc.IfxStatementTypes | Representing SQL statements |
java.sql.CallableStatement | com.informix.jdbc.IfmxCallableStatement | Parameter processing with Informix types |
java.sql.PreparedStatement | com.informix.jdbc.IfmxPreparedStatement | Parameter processing with Informix types |
java.sql.ResultSet | com.informix.jdbc.IfmxResultSet | Informix interval data types |
java.sql.ResultSetMetaData | com.informix.jdbc.IfmxResultSetMetaData | Columns with Informix data types |
java.sql.SQLInput | com.informix.jdbc.IfmxComplexSQLInput | Opaque, distinct, and complex types |
java.sql.SQLOutput | com.informix.jdbc.IfmxComplexSQLOutput | Opaque, distinct, and complex types |
java.lang.Object | com.informix.jdbc.Interval | Interval qualifiers and some common methods for the next two classes (base class for the next two) |
java.lang.Object | com.informix.jdbc.IntervalYM | Interval year-to-month |
java.lang.Object | com.informix.jdbc.IntervalDF | Interval day-to-fraction |
java.lang.Object | com.informix.jdbc.IfxSmartBlob | Access methods for smart large objects |
java.sql.Blob | com.informix.jdbc.IfxBblob | Binary large objects |
java.sql.Clob | com.informix.jdbc.IfxCblob | Character large objects |
java.lang.Object | com.informix.jdbc.IfxLocator | Large object locator pointer |
java.lang.Object | com.informix.jdbc.IfxLoStat | Statistical information about smart large objects |
java.lang.Object | com.informix.jdbc.IfxLobDescriptor | Internal characteristics of smart large objects |
java.lang.Object | com.informix.jdbc.IfxUDTInfo | General information about opaque and distinct types, detailed information about complex types |
java.sql.SQLInput | com.informix.jdbc.IfmxUDTSQLInput | Opaque, distinct, and complex types |
java.sql.SQLOutput | com.informix.jdbc.IfmxUDTSQLOutput | Opaque, distinct, and complex types |
A number of Informix classes provide support for functionality not present in the Java specification. These classes are listed in the following table.
JDBC Interface or Class | Informix Class | Provides Support for... |
---|---|---|
java.lang.Object | UDTManager | Deploying opaque data types in the database server |
java.lang.Object | UDTMetaData | Deploying opaque data types in the database server |
java.lang.Object | UDRManager | Deploying user-defined routines in the database server |
java.lang.Object | UDRMetaData | Deploying user-defined routines in the database server |
In previous releases, the UDTManager and UDRManager helper classes included in ifxtools.jar were not accessible from a packaged class. As of IBM Informix JDBC Driver 2.21.JC3, all these classes are in the udtudrmgr package. For backwards compatibility, unpackaged versions of these classes are also included.
To access a packaged class, use the following import statements in your program: