This preface contains:
The following are changes in Oracle C++ Call Interface Programmer's Guide for Oracle Database 12c Release 1 (12.1).
The following features are new in this release:
OCCI Identity Column Metadata
The current database release provides columns that may be created as identity columns. When rows are inserted into the tables, values for these columns are generated automatically.
See "Identity Column Metadata".
This feature adds a new ColumnAttrId enum
to the MetaData Class (see Table 13-27), and an overloaded form of getBoolean() method in the MetaData Class.
Additionally, see Oracle Database Reference for more information,
Support for Row Count Per Iteration for Array DML
This feature retrieves the number of rows affected by each iteration of a DML statement that is executed with multiple iterations.See "Executing an Iterative Operation".
This feature adds three new methods in the Statement Class: getDMLRowCounts(), getRowCountsOption(), and setRowCountsOption().
Support for client side deployment settings. This includes:
New deployment settings oraaccess.xml
file
See "Client-Side Deployment Parameters and Auto Tuning" and Oracle Call Interface Programmer's Guide for more information.
Support for Larger Row Count and Error Code Range Data Types
This feature enhances OCCI row count values from current int
limit to an oraub8
value, and enhances OCCI error codes to support values that exceed ORA-65535
.
See "Using Larger Row Count and Error Code Range Data Types".
This feature adds a new method for returning large row count to Statement Class: getUb8RowCount().
Instant Client Library Reorganized
The library structure is changed for clarity and ease of development. See "Installing Instant Client".
OCCI and Transaction Guard
The purpose of these features is to safely replay ongoing work after an outage or migration. It may be used to restore the system after both planned and unplanned outages. These features detect a failed connection or session and quickly re-establish it on a surviving instance of the distributed application. They provide a set of interfaces that return the last transaction outcome. The impact of these features follows:
Transaction Idempotence supports and exposes the logical transaction id. An attribute on the handle gets the value of the ltxid
, and a PL/SQL call gets its status.
TAF SELECT
mode enhances transaction idempotence support by using it implicitly.
Error Classification APIs provide the information regarding the error, whether it is recoverable: due to a temporary server outage (server node/instance/process crash). Recoverable errors are likely to succeed after the application is reconnected and the call is attempted again.
These features add a new method getLTXID() to Connection Class and a new method isRecoverable() to SQLException Class. These features are discussed more fully in Oracle Database Development Guide.
Support for Pluggable Databases
Added four new methods to the Environment class
These methods include:
getNLSLanguage() - Returns the NLS Language for the current environment.
setNLSLanguage() - Specifies the NLS Language for the current environment.
getNLSTerritory() - Returns the NLS Territory for the current environment.
setNLSTerritory() - Specifies the NLS Territory Language for the current environment.
These methods provide a programmatic way of setting the Language and Territory. The values set using these methods override the values set through the process environment variable NLS_LANG
.
Added overloaded methods for the setDataBuffer() and setDataBufferArray() methods in the Statement class and the setDataBuffer() method in the Resultset class to support larger (32K) VARCHAR2
, NVARCHAR2
, and RAW
data types