Java application development for IBM data servers

The Db2® and IBM® Informix® database systems provide driver support for client applications and applets that are written in Java.

You can access data in Db2 and IBM Informix database systems using JDBC, SQL, or pureQuery®.


JDBC is an application programming interface (API) that Java applications use to access relational databases. IBM data server support for JDBC lets you write Java applications that access local Db2 or IBM Informix data or remote relational data on a server that supports DRDA.


SQLJ provides support for embedded static SQL in Java applications. SQLJ was initially developed by IBM, Oracle, and Tandem to complement the dynamic SQL JDBC model with a static SQL model.

For connections to Db2, in general, Java applications use JDBC for dynamic SQL and SQLJ for static SQL.

For connections to IBM Informix, SQL statements in JDBC or SQLJ applications run dynamically.

Because SQLJ can inter-operate with JDBC, an application program can use JDBC and SQLJ within the same unit of work.


pureQuery is a high-performance data access platform that makes it easier to develop, optimize, secure, and manage data access. It consists of:
  • Application programming interfaces that are built for ease of use and for simplifying the use of best practices
  • Development tools, which are delivered in IBM Data Studio, for Java and SQL development
  • A runtime, which is delivered in IBM Optim™ pureQuery Runtime, for optimizing and securing database access and simplifying management tasks

With pureQuery, you can write Java applications that treat relational data as objects, whether that data is in databases or JDBC DataSource objects. Your applications can also treat objects that are stored in in-memory Java collections as though those objects are relational data. To query or update your relational data or Java objects, you use SQL.

For more information on pureQuery, see pureQuery data access applications.