Oracle Open Sources Database Programming Interface for C

The production release of Oracle Database Programming Interface for C (ODPI-C) is now available on GitHub (  ODPI-C is an open source library of C code that simplifies access to Oracle Database for applications written in C or C++. It is available as source code on GitHub under the Apache 2.0 and/or the Oracle UPL licenses, for direct inclusion into a code base.

The availability was announced in an Oracle blog by Christopher Jones, senior principal product manager at Oracle.

According to Jones, ODPI-C is a wrapper over the Oracle Call Interface.  OCI is Oracle Database's main C API and is widely used by Oracle products and user applications. OCI's API is flexible and gives fine-grained control to the developer for a range of use cases.

ODPI-C exposes C API functionality in a readily consumable way to C and C++ developers writing applications for Oracle Database and is aimed at language interfaces and applications where speed of development is important, and where special-case Oracle features are not needed. ODPI-C is already being used for Python, Node.js, Go and Rust interfaces, as well as for custom applications.

ODPI-C  advantages is that it allows faster application implementation with less code, makes memory and resource management simpler, particularly for “binding” and “defining” data.  In addition, a reference counting mechanism adds resiliency by stopping applications destroying in-use resources.

ODPI-C is developed by the Oracle Database Data Access team, with Anthony Tuininga leading the ODPI-C effort. 

To read the blog, go to, and for detailed instructions, go to