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.



Polymer 2.4 Strengthens TypeScript Support

There's a new version of Polymer with improved TypeScript support, and a preview version of the next major release of Polymer. Polymer is a JavaScript library that can be used to create custom reusabl [ ... ]

Google Adds Tools To Apps Script

Google has added three new tools to its App Script platform that can be used for developing add-ons for G Suite apps including Google Sheets, Docs, Forms and Slides.  The new tools are a dashboar [ ... ]

More News




blog comments powered by Disqus

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.