Oracle C++ Call Interface (OCCI) is a high-performance and comprehensive API to access the Oracle database. Based on Standard C++ and object-oriented paradigm, OCCI is designed for improved productivity and quality in developing Oracle database applications.
Introduced in Oracle9i, OCCI is being successfully used for client-server, middle-tier, and complex object modeling applications.
SQL and PL/SQL Support OCCI provides complete SQL access support with DDL, DML, SELECT statements, transaction control, executing PL/SQL stored subprograms with parameters, REF cursors and Metadata access. All Oracle datatypes like Number, Date, Timestamp, Interval and LOB types: BFile, BLOB and CLOB are supported with easy to use classes.
Objects Access OCCI is the natural interface for accessing Oracle object-relational features like object types, inheritance, relationships and collections. Objects are represented as C++ class instances in OCCI leading to seamless integration between the application and database. The navigational access method with the client object cache provides complete database transparency.
Scalability Features For middle-tier Web applications, OCCI provides Connection pooling, Stateless connection pooling, and Statement caching features for optimal use of connections and resources.
Advanced Queuing (AQ) OCCI AQ offers a high level, class-based interface to access Oracle Streams messaging capabilities. Applications can enqueue/dequeue messages of various types, consume messages asynchronously, and make use of publish-subscribe model for database events notifications.
Instant Client The Instant Client feature makes it extremely easy and fast to deploy an OCCI based application by eliminating the need and disk space of a full Oracle Client install. Users just need to install a small sized archive containing all the Oracle dynamic libraries to run their OCCI applications.
What's new in OCCI in Oracle 11g R1 release :