Client-Side Programmatic Interfaces
Oracle9i provides two different client-side programmatic interfaces: JDBC and SQLJ.
JDBC is a standard set of classes that allow application developers to access and manipulate relational databases such as Oracle from within Java programs. Three types of JDBC drivers are available from Oracle:
Ultra-thin JDBC driver. Useful for developing Java applets.
Thin JDBC driver. Useful for developing Java applets. Scalability can be achieved by using Oracle Net connection manager.
JDBC/OCI driver. This driver uses client libraries such as OCILIB, CORE, and Net8. Database access is provided by means of OCI calls. This driver is not suitable for Java applets because it can't be downloaded and requires client installation of the driver.
The type of driver used only affects the connect string; therefore, regardless of the type of driver used, the program essentially remains the same and provides several features:
Manipulation of LOB data
Support for all Oracle7, Oracle8/8i, and Oracle9i datatypes
Access to PL/SQL and Java stored procedures
Support for all Oracle character sets
Performance enhancement features such as arrays, prefetching, and batching of SQL statements
SQLJ is built on top of JDBC and allows developers to embed SQL statements within Java programs. A SQLJ translator converts the SQLJ statements into equivalent JDBC calls before execution. Use of SQLJ results in compact code that's easy to debug because it allows for early compile-time detection of errors in SQL statements.