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.



Blazor, .NET In The Browser, Reaches 0.3

History has some strange twists and turns for those willing to see them. Blazor is one of the oddest. Take .NET compile it to Web Assembly and run it in the browser. Sounds like fun? Now we can all tr [ ... ]

Apple Launches JavaScript Map Kit

Apple has released a beta version of a JavaScript library for working with interactive maps on web pages. MapKit JS provides map rendering that is optimized for various browsers and devices, and suppo [ ... ]

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.