Skip to content

Add support for Oracle's open source library (ODPI-C) in OCI8 extensionΒ #10585

@ericpp

Description

@ericpp

Description

Oracle has released an "Oracle Database Programming Interface for C" open source client library that can be used as an alternative to their Instant Client binary-only libraries: https://oracle.github.io/odpi/

The Python Oracle libraries have switched to this library as it avoids the need for the user to separately download and install the Instant Client binaries and configure environment variables.

EDIT: After digging into this library more, it looks like it still does require the OCI (Instant Client) libraries πŸ‘Ž : https://oracle.github.io/odpi/doc/installation.html#oracle-client-library-loading

The ODPI-C library is merely a wrapper around the OCI libraries rather than a replacement for them. It still would solve the issue of the user being prompted for library locations at compile time, but requires the user supply that information at runtime.

The Python driver does work without the OCI libraries because it implements a "thin" client on its own if you don't have them.

New ODPI-C-based Python module:

Old Instant Client-based Python module:

I think this would be a great addition to the OCI8 extension as well. It would make installing the extension as simple as just running pecl install oci8 without any additional libraries, prompts, or parameters.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions