Oracle Database Programming Interface for C
Oracle Database Programming Interface for C
Written by Kay Ewbank   
Tuesday, 15 August 2017

Oracle's 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 sits on top of OCI (Oracle Call Interface) and provides an alternative way to make use of OCI features for Oracle Database drivers and user applications.

ODPI-C is aimed primarily at language driver creators, and has already been used for Python, Node.js, Go and Rust interfaces. It can also be used for developing applications where you want a fast way to access Oracle Database, and don't need more advanced functionality.

The interface is a refactored and improved version of the DPI data access layer used in Oracle's node-oracledb driver. The reason ODPI-C is generally useful for developers who are writing more general applications still stems from its intended use for creating language drivers. The languages for which the drivers will be used expose simplified data access to users through cross-platform, 'common-denominator' APIs. ODPI-C provides an alternative easier option for common data access, while still providing access to Oracle Database. This means that so long as ODPI-C has the functionality you need for accessing Oracle Database, you can add it to your own custom projects.

ODPI-C makes memory and resource management simpler, particularly for binding and defining data.  The feature list includes all the normal calls you'd expect to manage connections and to execute SQL and PL/SQL efficiently.  It also has SQL and PL/SQL object support, scrollable cursors, advanced queuing, and continuous query notification. 

If you want to access other OCI calls without having to modify ODPI-C code, there is a call to get the underlying OCI Service Context handle.

ODPI-C applications can also take advantage of OCI features which don't require API access, such as the oraaccess.xml configuration for enabling statement cache auto-tuning.  Similarly, Oracle Database features controlled by SQL and PL/SQL, such as partitioning, can be used in applications.


More Information

ODPI On GitHub

Related Articles

Python cx_Oracle Adds Direct Binding

Oracle Is DBMS Of The Year

Oracle Launches Elastic Cloud


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin.



MakeCode for Lego Mindstorms Launched

MakeCode for Lego Mindstorms has been launched by Microsoft and Lego. It's a Windows-based system that can be used to code using either a drag and drop code select system, or JavaScript. MakeCode can  [ ... ]

JetPack And Android Studio 3.2 - Not Much New

Google I/O used to be an exciting meet up where really new and startling things were announced. Now it's past its best and Googler's have to work hard to package the dull into something that looks exc [ ... ]

More News






or email your comment to:

Last Updated ( Tuesday, 15 August 2017 )

RSS feed of news items only
I Programmer News
Copyright © 2018 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.