opendatahub-io-contrib / workbench-images

Various custom Workbenches and Runtimes for Open Data Hub and OpenShift Data Science
MIT License
37 stars 24 forks source link

add Oracle 12 drivers to base images #43

Open shalberd opened 12 months ago

shalberd commented 12 months ago

DB Connectivity to Postgres and SQL Server is working nicely, thank you very much for having done a lot of heavy lifting in 2023c.

Could you also add drivers for Oracle 12 ff, ie 19c, 21c, seems to be mix of python-oracledb and Oracle Instant Client, to the base images, please?

"The first step is to install and configure the necessary tools to enable communication between Jupyter Notebook and Oracle Database. This typically involves installing the Oracle Instant Client, which provides the required libraries and drivers, and configuring the environment variables."

Looks like it can be installed via rpm or yum on Oracle Linux, but on Centos, one has to download the RPM.

https://www.oracle.com/in/database/technologies/instant-client/linux-x86-64-downloads.html#ic_x64_inst

https://python-oracledb.readthedocs.io/en/latest/user_guide/installation.html

whether or not thin (python-oracledb) or thick mode (python-oracledb plus Oracle Instant Client), I still need to figure out. Maybe someone in your vicinity knows more. It looks to me from the feature comparison matrix as though if backward compatiblity less than Oracle 12 is not needed, then thin mode, just using python-oracledb, is enough.

https://python-oracledb.readthedocs.io/en/latest/user_guide/appendix_a.html#featuresummary

As mentioned, thick mode including oracle instant client https://www.oracle.com/database/technologies/instant-client.html should not be necessary, meaning this part here is optional: https://python-oracledb.readthedocs.io/en/latest/user_guide/initialization.html#enablingthick

The documentation itself on python-oracledb is very extensive.

Best regards

Sven

shalberd commented 7 months ago

@harshad16 I currently have the python package for this in an image I built custom and also have, for thick / non-thin mode, included the system-level Linux Oracle driver installed via rpm install.

Once I verify everything works with Oracle 19, I will make a pull request here. We've already for SQL Server support and Mongo and Postgres Support, so adding this once I confirm full functionality soon will be no big deal anymore.