OCILIB (C and C++ Driver for Oracle)
4.7.5
Open source and cross platform Oracle Driver delivering efficient access to Oracle databases.
|
OcilibCApiSupportedCharsets
OCILIB implements:
Here is a summary of the supported data types:
The public OCILIB library interface implements encapsulation for representing database objects (such as connections, statements ...) through opaque structures (pointers to structures whose definition is kept private)
Instead of directly manipulating the structures and their members, the library has functions to access the underlying members.
It's designed to make the user code as more independent as possible of the library details.
Typedefs | |
typedef long long | big_int |
big_int is a C scalar integer (32 or 64 bits) depending on compiler support for 64bits integers. big_uint is an unsigned big_int | |
typedef struct OCI_Environment | OCI_Environment |
Environment object. | |
typedef struct OCI_Pool | OCI_Pool |
Pool object (session or connection) | |
typedef struct OCI_Connection | OCI_Connection |
Oracle physical connection. | |
typedef struct OCI_Statement | OCI_Statement |
Oracle SQL or PL/SQL statement. | |
typedef struct OCI_Bind | OCI_Bind |
Internal bind representation. | |
typedef struct OCI_Resultset | OCI_Resultset |
Collection of output columns from a select statement. | |
typedef struct OCI_Column | OCI_Column |
Oracle SQL Column and Type member representation. | |
typedef struct OCI_Lob | OCI_Lob |
Oracle Internal Large objects: | |
typedef struct OCI_File | OCI_File |
Oracle External Large objects: | |
typedef struct OCI_Transaction | OCI_Transaction |
Oracle Transaction. | |
typedef struct OCI_Long | OCI_Long |
Oracle Long data type. | |
typedef struct OCI_Number | OCI_Number |
Oracle NUMBER representation. | |
typedef struct OCI_Date | OCI_Date |
Oracle internal date representation. | |
typedef struct OCI_Timestamp | OCI_Timestamp |
Oracle internal timestamp representation. | |
typedef struct OCI_Interval | OCI_Interval |
Oracle internal interval representation. | |
typedef struct OCI_Object | OCI_Object |
Oracle Named types representation. | |
typedef struct OCI_Coll | OCI_Coll |
Oracle Collections (VARRAYs and Nested Tables) representation. | |
typedef struct OCI_Elem | OCI_Elem |
Oracle Collection item representation. | |
typedef struct OCI_Iter | OCI_Iter |
Oracle Collection iterator representation. | |
typedef struct OCI_Ref | OCI_Ref |
Oracle REF type representation. | |
typedef struct OCI_TypeInfo | OCI_TypeInfo |
Type info metadata handle. | |
typedef struct OCI_HashTable | OCI_HashTable |
OCILIB implementation of hash tables. | |
typedef struct OCI_Error | OCI_Error |
Encapsulates an Oracle or OCILIB exception. | |
typedef struct OCI_Mutex | OCI_Mutex |
OCILIB encapsulation of OCI mutexes. | |
typedef struct OCI_Thread | OCI_Thread |
OCILIB encapsulation of OCI Threads. | |
typedef struct OCI_DirPath | OCI_DirPath |
OCILIB encapsulation of OCI Direct Path handle. | |
typedef struct OCI_Subscription | OCI_Subscription |
OCILIB encapsulation of Oracle DCN notification. | |
typedef struct OCI_Event | OCI_Event |
OCILIB encapsulation of Oracle DCN event. | |
typedef struct OCI_Msg | OCI_Msg |
OCILIB encapsulation of A/Q message. | |
typedef struct OCI_Agent | OCI_Agent |
OCILIB encapsulation of A/Q Agent. | |
typedef struct OCI_Dequeue | OCI_Dequeue |
OCILIB encapsulation of A/Q dequeuing operations. | |
typedef struct OCI_Enqueue | OCI_Enqueue |
OCILIB encapsulation of A/Q enqueuing operations. | |
typedef void(* | POCI_ERROR) (OCI_Error *err) |
Error procedure prototype. | |
typedef void(* | POCI_THREAD) (OCI_Thread *thread, void *arg) |
Thread procedure prototype. | |
typedef void(* | POCI_THREADKEYDEST) (void *data) |
Thread key destructor prototype. | |
typedef void(* | POCI_NOTIFY) (OCI_Event *event) |
Database Change Notification User callback prototype. | |
typedef void(* | POCI_NOTIFY_AQ) (OCI_Dequeue *dequeue) |
AQ notification callback prototype. | |
typedef unsigned int(* | POCI_TAF_HANDLER) (OCI_Connection *con, unsigned int type, unsigned int event) |
Failover Notification User callback prototype. | |
typedef void(* | POCI_HA_HANDLER) (OCI_Connection *con, unsigned int source, unsigned int event, OCI_Timestamp *time) |
HA (High Availability) events Notification User callback prototype. | |
typedef struct OCI_XID | OCI_XID |
Global transaction identifier. | |
typedef union OCI_Variant | OCI_Variant |
Internal Variant type based on union C type. | |
typedef struct OCI_HashValue | OCI_HashValue |
Hash table entry value. | |
typedef struct OCI_HashEntry | OCI_HashEntry |
Hash table entry. | |
typedef int big_int |
#include <platform.h>
big_int is a C scalar integer (32 or 64 bits) depending on compiler support for 64bits integers. big_uint is an unsigned big_int
Definition at line 281 of file platform.h.
#include <types.h>
Oracle physical connection.
It holds all information about a connection such as error handling, associated statements, ... Error handling and transactions are embedded within a connection object.
#include <types.h>
Oracle Internal Large objects:
The following internal Larges Objects are supported:
LOBs were introduced by OCI8 to replace Long data types.
It's designed to store really larges objects (buffer, files) inside the database
Oracle encourages programmers to use those objects instead of LONG, LONG RAW, ...
OCILIB supports both LOBs and LONGs
#include <types.h>
Oracle External Large objects:
The following external Larges Objects are supported:
FILEs were introduced by OCI8 in order to store references to files located outside the database.
Two way to use FILEs :
#include <types.h>
Oracle Long data type.
The following long Objects are supported:
Those types were used in older versions of Oracle (before Oracle 8i) to store large chunks of data in the database.
It's now depreciated by Oracle that recommends using LOBs
Many databases and applications are still designed to use LONGs that's why OCILIB supports Long Objects and piecewise operations
POCI_ERROR |
POCI_THREAD |
#include <types.h>
Thread procedure prototype.
thread | - Thread handle |
arg | - Pointer passed to OCI_ThreadRun() |
POCI_THREADKEYDEST |
POCI_NOTIFY |
POCI_NOTIFY_AQ |
POCI_TAF_HANDLER |
#include <types.h>
Failover Notification User callback prototype.
con | - Connection handle related to the event |
type | - Event type |
event | - Event code |
POCI_HA_HANDLER |
#include <types.h>
HA (High Availability) events Notification User callback prototype.
con | - Connection handle related to the event |
source | - source of the event |
event | - type of the event |
time | - Timestamp of the event |
OCI_XID |
#include <types.h>
Global transaction identifier.
OCI_Variant |
#include <types.h>
Internal Variant type based on union C type.
OCI_HashValue |
#include <types.h>
Hash table entry value.
OCILIB implementation of hash tables uses chaining method for dealing with collisions
OCI_HashEntry |
#include <types.h>
Hash table entry.