Oracle to driver developers: 'Come play with our interface'
Big Red lets C/C++ types talk to its call interface
Oracle has taken DPI, the data access layer in its node-oracledb driver, refactored it, and used it to give C/C++ developers an API to its Oracle Call Interface.
Called ODPI-C, the library, on GitHub, is designed to let those developers write for the Oracle Call Interface (OCI) in the languages with whichi they are most familiar.
As Oracle explains here, ODPI-C's main audience is language driver creators: “The languages often expose simplified data access to users through cross-platform, 'common-denominator' APIs. Therefore it makes sense for ODPI-C to provide easy to use functionality for common data access, while still allowing the power of Oracle Database to be used.”
The full list of features is given at the above link; Oracle picks out SQL and PL/SQL object support, scrollable cursors, advanced queuing, and continuous query notification as important features. For other OCI calls, there's also a call that returns the OCI service context handle.
An Oracle client newer than version 11.2 is a requirement (you can use its free Oracle Instant Client to get the client libraries and header files), and at the server end you need Oracle Database 9.2 or later.
The ODPI-C code can be included and compiled with C or C++ applications, or ODPI-C can be used as a shared library under Linux, Mac OS or Windows (a makefile is provided).
Since it's a beta – the official versioning is ODPI-C version 2.0.0-beta.1 – Oracle's hoping to hear from developers trying out, and says it's going to be conducting more testing and adding “some polish”. ®