Oracle Database supports C and C++ programmers with a choice of high performance APIs, including standards-compliant, open-source and proprietary interfaces.
Oracle Call Interface is the comprehensive, high performance, native C language interface to Oracle Database for custom or packaged applications.
Oracle Call Interface is highly reliable. Oracle tools such as SQL*Plus, Real Application Testing (RAT), SQL*Loader, and Data-Pump all use Oracle Call Interface. Oracle Call Interface provides the foundation on which other language-specific interfaces such as Oracle JDBC-OCI, Oracle Data Provider for Net (ODP.Net), Oracle Precompilers, Oracle ODBC, and Oracle C++ Call Interface (OCCI) drivers are built. Oracle Call Interface is also used by leading scripting language drivers such as node-oracledb for Node.js, PHP OCI8, ruby-oci8, Perl DBD::Oracle, Python cx_Oracle, and the statistical programming language R's ROracle driver.
A broad range of customers including Fortune 500 customers and ISVs develop high performance applications directly in Oracle Call Interface.
Oracle Call Interface libraries are included by default in Oracle Database 18c. Oracle Call Interface is also in the lightweight Oracle Instant Client, allowing ISVs and customers to quickly install and deploy Oracle Call Interface applications and tools. See the Oracle Instant Client page for more information.
Oracle Database Programming Interface for C (ODPI-C) is a new open source library of C code that simplifies the use of common Oracle Call Interface features for Oracle Database drivers and user applications.
ODPI-C is a thin layer on top of Oracle Call Interface and requires Oracle client libraries.
ODPI-C's goal is to expose common Oracle Call Interface functionality in a readily consumable way to the C or C++ developer. Oracle Call Interface's API is extremely flexible and is highly efficient, giving very fine-grained control to the developer for a wide range of use cases. ODPI-C is also flexible but is aimed primarily at language driver creators. These creators are programming within the confines of a scripting language's type system and semantics. The languages often expose simplified data access to users through cross-platform, 'common-denominator' APIs. Therefore ODPI-C provides easy to use functionality for common data access, while still providing the power of Oracle Database.
Of course ODPI-C isn't just restricted to drivers. ODPI-C is licensed under the Apache 2.0 and/or the Oracle UPL licenses, so the code can be reused in your own projects.
Based on the Standard C++ and object-oriented paradigm, OCCI is designed for improved productivity and quality in developing Oracle Database applications.
OCCI is being successfully used for client-server, middle-tier, and complex object modeling applications.
OCCI is the natural interface for accessing Oracle object-relational features like object types, inheritance, relationships and collections. Objects are represented as C++ class instances in OCCI leading to seamless integration between the application and database. The navigational access method with the client object cache provides complete database transparency.
The Oracle ODBC driver for Oracle Database enables ODBC applications to connect to Oracle Database. In addition to standard ODBC functions, users can leverage Oracle specific features for high performance data access.
The Oracle ODBC driver is an ODBC 3.52 compliant driver and is available as an easy to install Oracle Instant Client package.