Oracle Data Access Components (ODAC) is a library of components that provides native connectivity to Oracle from Delphi, C++Builder, Lazarus (and Free Pascal) for 32-bit and 64-bit Windows, macOS, and Linux platforms. The ODAC library is designed to help programmers develop faster, cleaner and more native Oracle database applications. ODAC, a high-performance and feature-rich Oracle connectivity solution, is an efficient native alternative to the Borland Database Engine (BDE) and standard dbExpress driver. It provides both possibility of connection to Oracle by means of native Oracle data access and direct access to Oracle without Oracle Client.
ODAC is a direct database connectivity wrapper built specifically for the Oracle server. ODAC offers wide coverage of the Oracle feature set, supports both Client and Direct connection modes, and emphasizes optimized data access strategies.
By providing access to the most advanced database functionality, ODAC allows developers to harness the full capabilities of the Oracle and optimize their database applications. ODAC stands out as the set of components with the widest support of Oracle functionality. It is the only component to support Oracle distributed transactions and implements support for controlling statement caching , OCI pooling , and Oracle Advanced Queuing. View the full list of supported Oracle features in Features.
ODAC offers two connection modes to the Oracle server: connection through the Oracle Call Interface and direct connection over TCP/IP. ODAC-based database applications are easy to deploy, do not require installation of other data provider layers (such as BDE), and tend to be faster than those that use standard data connectivity solutions. See the How does ODAC Work section.
ODAC has extra components designed to simplify some tasks and support Oracle-specific technologies. Particularly, OraScript serves to execute series of SQL statements, OraLoader serves to load external data into Oracle databases, OraeAlerter and OraPipe transfer messages and data between connections or client applications, and so on. ODAC includes set of classes designed to work with Oracle Advanced Queuing technology.
ODAC is a cross-platform solution for developing applications using various IDEs: RAD Studio, Delphi, C++Builder, Lazarus (and FPC) on Windows, macOS, and Linux, for both x86 and x64 platforms. ODAC also provides support for the FireMonkey platform, which allows you to develop visually spectacular high-performance native applications for Windows and macOS.
The goal of ODAC is to enable developers to write efficient and flexible database applications. The ODAC library is implemented using optimized code and advanced data access algorithms. Component interfaces undergo comprehensive performance tests and are designed to help you write thin and efficient product data access layers. Find out more about using ODAC to optimize your database applications in Increasing Performance. To see the results of ODAC performance tests, consult the performance comparison section on the ODAC website.
The ODAC interface retains compatibility with standard VCL data access components like BDE. Existing BDE-based applications can be easily migrated to ODAC and enhanced to take advantage of Oracle-specific features like alerts, pipes, and the direct-path interface. Project migration can be automated with the BDE Migration Wizard. Find out more about Migration Wizard in Using Migration Wizard.
ODAC is an Oracle connectivity solution that has been actively developed and supported since 1998. ODAC comes with full documentation, demo projects, and fast (usually within one business day) technical support by the ODAC development team. Find out more about getting help or submit feedback and suggestions to the ODAC development team in Getting Support.
The description of the ODAC components is provided in the Component List.
The full list of ODAC features can be found in Features.
ODAC allows you to connect to Oracle in two ways: in the Direct mode over TCP/IP or in the Client mode using Oracle Client. The Direct mode can be enabled or disabled using the Direct property.
In the Direct mode, ODAC connects to Oracle directly via TCP/IP without using Oracle client software and enables you to build really thin database applications.
In Client mode, ODAC connects to Oracle through the Oracle Call Interface (OCI). OCI is an application programming interface that allows an application developer to use a third-generation language's native procedure or function calls to access the Oracle database server and control all phases of SQL statement execution. OCI is a library of standard database access and retrieval functions in the form of a dynamic-link library.
In contrast, the Borland Database Engine (BDE) uses several layers to access Oracle and requires additional data access software to be installed on client machines.