Appendix A. Tricky connections 417
Oracle database. The JDBC OCI driver requires an Oracle client
installation of the same version as the driver. The use of native methods
makes the JDBC OCI driver platform specific. Oracle supports Solaris,
Windows, and many other platforms. This means that the Oracle JDBC
OCI driver is not appropriate for Java applets, because it depends on a C
library. Starting from Version 10.1.0, the JDBC OCI driver is available for
installation with the OCI Instant Client feature, which does not require a
complete Oracle client-installation. Please refer to the Oracle Call
Interface for more information.
– JDBC Server-Side Internal driver
This driver uses Java native methods to call entrypoints in an underlying C
library. That C library is part of the Oracle server process and
communicates directly with the internal SQL engine inside Oracle. The
driver accesses the SQL engine by using internal function calls and thus
avoiding any network traffic. This allows your Java code to run on the
server to access the underlying database in the fastest possible manner. It
can only be used to access the same database.
3. Oracle JDBC Type4
Again, there are two flavors of the Type 4 driver.
– JDBC Thin client-side driver
This driver uses Java to connect directly to Oracle. It implements Oracle's
SQL*Net Net8 and TTC adapters using its own TCP/IP based Java socket
implementation. The JDBC Thin client-side driver does not require Oracle
client software to be installed, but does require the server to be configured
with a TCP/IP listener. Because it is written entirely in Java, this driver is
platform-independent. The JDBC Thin client-side driver can be
downloaded into any browser as part of a Java application. (Note that if
running in a client browser, that browser must allow the applet to open a
Java socket connection back to the server.)
– JDBC Thin server-side driver
This driver uses Java to connect directly to Oracle. This driver is used
internally within the Oracle database. This driver offers the same
functionality as the JDBC Thin client-side driver, but runs inside an Oracle
database and is used to access remote databases. Because it is written
entirely in Java, this driver is platform-independent. There is no difference
in your code between using the Thin driver from a client application or from
inside a server.