What is the difference between thin and OCI drivers in oracle? Is it true that thin driver is to be used with applets and OCI with applications?
Joined: Sep 11, 2000
i got some good info from oracle site Oracle provides two JDBC drivers: the "OCI driver" and the "thin driver." Both drivers provide several important benefits: superior performance, support for Oracle-specific datatypes, access to PL/SQL stored procedures, and support for all Oracle character sets and SQL*Net-certified firewalls. The OCI driver requires SQL*Net libraries on the client; since these are written in C, the driver is not downloadable and is thus sometimes referred to as a fat-client configuration. Companies can use the OCI driver in a traditional client/server model if they're already running an Oracle network (using SQL*Net or Net8 clients) and want to use some of the related services, such as Oracle Names (for locating databases dynamically). In addition, the Oracle OCI driver can be implemented in a three-tier architecture using a Web browser as a client with a Java application and the OCI driver installed on the Web server or on Oracle Application Server (the middle tier). One of the benefits of the OCI driver is that it leverages several of the Oracle call interfaces' performance optimizations, including reducing the number of client-to-server round trips for binds, defines, and describes; batched statement execution; and row prefetching and the array interface. Such optimizations are critical to delivering the performance needed for enterprise Java applications. With Oracle's thin driver, on the other hand, there's no OCI involved: It's 100% Pure Java, which means it can be downloaded to any Web browser that supports the Java Virtual Machine, such as Netscape 3.0 or 4.0. The thin driver converts JDBC calls directly into Oracle's network protocol, which allows a direct call from the client machine to the Oracle database server. Because it is written entirely in Java, the thin driver is platform-independent. The thin driver communicates with the server via a Java socket, so in cases where applets implementing the thin driver will be downloaded to browsers, the browser must be able to support Java socket connections.