OCILIB is an open source and cross platform Oracle Driver that delivers efficient access to Oracle databases.
The OCILIB library :
offers a rich, full featured and easy to use API
runs on all Oracle platforms
is written in pure ISO C99 code with native ISO C Unicode support
provides also a C++ API written in standard C++03 with support for some C++11 features
Enables high productivity
encapsulates OCI (Oracle Call Interface)
is the most complete available OCI wrapper
OCILIB is developed by Vincent Rogier.
Features
ISO C API
ISO C ++ API
Full ANSI and Unicode support on all platforms (ISO C wide strings or UTF8 strings)
Full 32/64 bits compatibility
Compatible with all Oracle version >= 8.0
Automatic adaptation to the runtime Oracle client version
Runtime loading of Oracle libraries
Built-in error handling (global and thread context)
Full support for SQL API and Object API
Full support for ALL Oracle SQL and PL/SQL datatypes (scalars, objects, refs, collections, ..)
Full support for PL/SQL (blocks, cursors, Index by Tables and Nested tables)
Support for non scalar datatype with trough library objects
Oracle Pooling (connections and sessions pools)
Oracle XA connectivity (X/Open Distributed Transaction Processing XA interface)
Oracle AQ (Advanced Queues)
Oracle TAF (Transparent Application Failover) and HA (High availability) support
Binding array Interface
Returning DML feature
Scrollable statements
Statement cache
Direct Path loading
Remote Instances Startup/Shutdown
Oracle Database Change notification / Continuous Query Notification
Oracle warnings support
Global and local transactions
Describe database schema objects
Hash tables API
Portable Threads and mutexes API
v4.7.6
Muchas gracias.
Saludos,
Vicent Rogier's ocilib
- Baxajaun
- Mensajes: 225
- Registered for: 4 years 6 months
Vicent Rogier's ocilib
--
“Mi conciencia tiene para mí más peso que la opinión de todo el mundo.”
Marco Tulio Cicerón.
“Mi conciencia tiene para mí más peso que la opinión de todo el mundo.”
Marco Tulio Cicerón.
- Baxajaun
- Mensajes: 225
- Registered for: 4 years 6 months
Buenas tardes !!!
Nueva versión v4.7.7.
Muchas gracias.
Saludos,
Nueva versión v4.7.7.
Código: Seleccionar todo
Enhancements (C API)
Oracle XMLTYPE is now partially supported
Added OCI_XmlType* data type (OCI_CDT_XMLTYPE) that can only be fetched from resultets in this current release
OCI_ColumnGetType() reports "XMLTYPE" as SQL type
OCI_TypeInfoGet() returns a valid OCI_TypeInfo handle for the type name "SYS.XMLTYPE"
OCI_GetString() returns a string representation of a XMLTYPE object
Added the following new APIs:
OCI_GetXmlType()
OCI_GetXmlType2()
OCI_XmlTypeToText()
In this current release, use OCI_GetString() instead of OCI_GetXmlType() as:
OCI_XmlType handles can only be used to getting XML content strings, which is already done by OCI_GetString()
In later releases, OCI_XmlType API will evolve to support local xml object creation, DOM manipulation, SQL binding
Enhancements (C++ API)
Oracle XMLTYPE is now partially supported:
Added ocilib::XmlType class (that can only be retrieved using ocilib::Resultset::Getocilib::XmlType())
ocilib::Resultset::Get() returns a string representation of the XMLTYPE object
Added Interval::GetNanoSeconds() and Interval::SetNanoSeconds()
Fixes (C API)
Issue 329: OCI_GetSqlIdentifier() returns invalid values for Scrollable Statements when called more than once
Issue 332: OCI_TypeInfoGet() : since v4.7.4, in case of failure, OCI_TypeInfo object is not removed from OCI_Connection internal list of OCI_TypeInfo objects
Issue 331: Strange behaviour with XMLTYPE
Issue 332: OCI_TypeInfoGet() : In case of failure, newly created OCI_TypeInfo object is not removed from OCI_Connection internal cache
Issue 333: OCI_GetServerMajorVersion() returns wrong values for Oracle Server version < 18.1
Issue 334: OCI_RefToText() return garbage when charset is OCI_CHARSET_WIDE
Issue 347: OCI_MsgGetEnqueueTime() leaked DateTime handle causing OCI_Cleanup() reporting unfreed handle
Issue 348: OCI_EventGetObject() might returned garbage character after object name
Issue 354: OCI_ElemSetRaw() performed wrong check on element datatype
Issue 361: Fixed HA event callback processing
Fixes (C++ API)
Issue 351: C++ Value types perform handle assignment instead of value assignment
Issue 355: Since v4.7.5, connection acquired from ocilib::Pool where not released, leading to pool exhaustion
Issue 362: Calling Environment::Initialize() / Environment::Cleanup() multiple times per process might lead to segfaults with latest embedded vc143 runtime
Documentation
Issue 352 : Fixed documentation for OCI_PoolGetNoWait and ocilib::Pool::SetNoWait()
Issue 363 : Fixed documentation for OCI_IntervalGetDaySecond() and OCI_IntervalSetDaySecond(), Interval::GetDaySecond() and GetSaySecond()
Saludos,
--
“Mi conciencia tiene para mí más peso que la opinión de todo el mundo.”
Marco Tulio Cicerón.
“Mi conciencia tiene para mí más peso que la opinión de todo el mundo.”
Marco Tulio Cicerón.