Which Easysoft Oracle® Driver do I Need?
Easysoft produces two versions of the Oracle® ODBC driver: the Oracle® Call Interface (OCI) driver and the Wire Protocol (WP) driver.
Both drivers connect Unix and Linux applications to Oracle® 8–12c and XE databases, provide comprehensive support for Oracle® data types and conform to the latest ODBC standard (3.52).
However, the drivers differ in the way that they access Oracle®. The OCI driver requires Oracle® client software (either the Instant Client or standard Oracle® Database Client). The WP driver does not require any Oracle® client software, because, unlike the OCI driver, it accesses Oracle® directly.
Although the WP driver is simpler to deploy in that it is not reliant on the standard/Instant client, you need to be aware of the implications of not using Oracle® client software. The following Oracle® functionality is dependent on the Oracle® client. To take advantage of these features, you therefore need to use the client-based OCI driver:
- Client add-ons such as Oracle® Advanced Security, which provides strong authentication, data integrity protection and data encryption features to protect Oracle® data against unauthorised access, tampering and eavesdropping. (The WP driver can use SSH tunnelling to secure Oracle® network traffic, however.)
- Real Application Clusters (RAC), which is an Oracle® High Availability feature that enables an Oracle® Database Server to span multiple low-cost servers while presenting the appearance of a single, unified database system. Oracle® client software is a prerequisite for ODBC access to a RAC database. For example, the mechanism that transparently redirects applications to surviving RAC nodes following the failure of a primary node is dependent on the Oracle® client.
- Features built into Oracle® Net Services. For example, Transparent Application Failover (TAF) and runtime connection load balancing. TAF enables client applications to automatically reconnect to a database if the original connection fails. Runtime connection load balancing distributes client connections evenly among multiple listeners and instances to ensure that no single component is overloaded.
- Distributed XA transactions. If you are using an application in which transactions interact with multiple databases, use the OCI driver. The OCI driver uses the Oracle® XA library to enable an XA Transaction Manager to coordinate a group of related transactions so that all transactions either commit or roll back together.
- OCI performance tuning mechanisms. The OCI driver can set the OCI_ATTR_PREFETCH_ROWS or OCI_ATTR_PREFETCH_MEMORY attributes to optimise query performance by minimising server round trips. The driver can also use statement caching to improve performance by efficiently using prepared cursors on the Oracle® server and eliminating repetitive statement parsing.
- Oracle® connection methods and syntax. The OCI driver can help simplify administration by reading connection settings from net service names defined in tnsnames.ora. The driver also supports Oracle’s Easy Connect Naming Methods, allowing you to specify Oracle® connection information as either an SQL connect URL string or an Oracle® Net keyword-value pair.
In addition, if you want to access Oracle® from Windows platforms, you need to use the OCI driver.