OCILIB

OCILIB is an open source library, written in C, that access Oracle Databases.
Download

OCILIB Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Vince Rogier
  • Publisher web site:

OCILIB Tags


OCILIB Description

OCILIB is an open source library, written in C, that access Oracle Databases. OCILIB is an open source library, written in C, that access Oracle Databases.OCILIB project encapsulates OCI (Oracle Call Interface - a low-level programming interface provided by Oracle) which is a powerfull but complex API.OCILIB is built on top of OCI, hiding its complexity and proposes instead a more simple, readable and reusable API. OCILIB is free (open source - LGPL) and its source code is platform independant.It offers up to 150 simple and straightforward APIs.Installation:? untar the archive? $ cd ocilib-x.y.z? $ ./configure? $ ./make? $ ./make install (you migth need to `su` to make install) ? Make sure Oracle library path and the ocilib library path are defined in your shared library variable (LB_LIBRARY_PATH, ....) Here are some key features of "OCILIB": · Pure ISO C code (C90 except from some wchar C99 prototypes) · Really easy coding · Data binding · Supports static / shared oracle linkage · Can load OCI libs at runtime (no Oracle libraries required at compile time) · Full Unicode support · Multi row fetching · Global transactions · Cursors · PL/ SQL blocks · LOB (BLOB/CLOB/BFILES) · Long datatype (piecewise operations) · Provides "All in one" Formatted functions (printf's like) · Smallest memory usage possible · Date/time management · Error handling · Describe database objects · Great performances (straight OCI encapsulation) · Tested against memory leaks. Compatibilities: · Current sources are pure ISO C and should compile with any C90 compliant compiler (ansi version) and C90/99 compliant compiler (unicode version). · No Dependent platform code (except for runtime loading if supported) It has been compiled and tested with : · GCC 4.21 on Linux (OpenSuse 10.3, Redhat server) · MSC compiler (VC6/VS2005) (Windows 2000, XP, Vista) The libraries were tested against : · Oracle 8i · Oracle 9i · Oracle 10g · Oracle 11g What's New in This Release: Added SQL command and verb retrieving: · Added OCI_GetSQLVerb() · Added OCI_GetSQLCommand() · Added OCI_SFC_XXXX constants for the 124 Oracle SQL command codes Added support for batched errors for Array DML: · Added OCI_ErrorGetRow() · Added OCI_GetBatchError() · Added OCI_GetBatchErrorCount() · Updated array interface demo (demo/array.c) Extended Lob Support: · Added OCI_LobGetMaxSize() · Added OCI_LobFlush() Extended Collection API: · Added OCI_CollClear() · Modified OCI_CollTrim(), OCI_CollGetMax(), OCI_CollGetSize() that now take or return 'unsigned int' instead of 'int' type · Modified OCI_CollTrim() to accept a zero value as number of elements to trim Modified and extended Bind API: · Added OCI_BindSetNull() · Added OCI_BindSetNullAtPos() · Added OCI_BindIsNull() · Added OCI_BindIsNullAtPos() · Modified OCI_SetNullxxx() calls that are now defined as obsolete macros around OCI_BindSetxxx() calls Extended OCI_ImmediateXXX() API: · Added missing support for Objects, Collection and REF · Added OCI_ARG_OBJECT, OCI_ARG_COLLECTION and OCI_ARG_REF Extended OCI_XXXFmt() API: · Added support for REFs · Added token identifier '%r' for REFs Miscellaneous changes: · Added OCI_Ping() · Added Exception type OCI_ERR_CREATE_OCI_ENVIRONMENT if internal Oracle OCI environment handle cannot be allocated · Updated documentation (page ) · Modified GNU configure script : the Oracle OCI library folder search sequence is now : lib32, lib, lib64 Miscellaneous fixes: · Fixed OCI_CollAssign() that was assigning destination collection to source collection · Fixed missing const qualifier in some Direct Path functions prototypes · Fixed OCI_ElemSetXXX() for numeric types that was returning FALSE for local collection · Fixed PL/SQL tables binds for non scalar types (wrong values handled since v3.2.0) · Fixed possible infinite recursivity when calling some OCI_ErrorGetXXX() calls within an error handler at OCILIB initialization · Fixed Error message if Oracle shared lib was not found : libray name was not correct on unicode builds · Fixed OCI_GetString() : in mixed charset builds, the returned string was truncated for numeric columns · Fixed internal function OCI_MoveString() for inplace string buffers packing/expansion Fixed in/out or out string binds : · bind indicator is now not reset to "not null" after an execute call if the statement is PL/SQL code wide string binds on Unixes platforms (Mixed and Unicode builds) : · the trailing null character was missing if the binded string had been shortened by some PL/SQL code or user · internal initialization of bind array of data lens : the len was including null terminator character and could lead to some memory corruptions · Fixed some demo example codes · Fixed computation of internal OCI_Object sub objects offsets in their parents indicator array (could have caused segfaults and/or bad indicator values) Fixed problems with OCI_Elem internal null indicators : · In some cases, a segfault caused by a null pointer could happened · For OCI_Object handles holded by an OCI_Elem handle, the object internal indicator strucure was not properly set/retreived


OCILIB Related Software