Connecting to Oracle from RHEL or Centos - mkleehammer/pyodbc GitHub Wiki
Use Oracle instant client on RHEL to connect to Oracle database. CentOS is derived from Red Hat so the driver works for CentOS as well. This driver uses unixODBC as its driver manager. The driver and driver manager must be installed globally(as root) on your server:
Install unixODBC
See http://www.unixodbc.org/ for reference.
Use the latest unixODBC version 2.3.4 (preferred). Download the source, http://www.unixodbc.org/download.html
As root,
cd <Download Folder>
wget ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.4.tar.gz
tar -xf unixODBC-2.3.4.tar.gz
cd unixODBC-2.3.4/
./configure -sysconfdir=/etc 1> conf_std.log 2> conf_err.log
make 1> mk_std.log 2> make_err.log
sudo make install 1> mki_std.log 2> mki_err.log
Install the Oracle Instant Client (ODBC Driver) for Linux
See http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html for reference.
Choose the Instant Client Downloads for Linux x86-64 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
Download: oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm , oracle-instantclient11.2-odbc-11.2.0.3.0-1.x86_64.rpm, oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
Note: If you need 12c instant client choose the appropriate basic, odbc and devel rpms.
As root,
cd <Download Folder>
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-odbc-11.2.0.3.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm
Oracle installs the library in /usr/lib/oracle/11.2/client64/lib. set the library path, add it to the profile (as required)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/oracle/11.2/client64/lib
Test Oracle Driver installation
dltest /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1
#SUCCESS: Loaded /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1
Add the oracle entry to obdcinst.ini
[MyOracle]
Description=Oracle Unicode driver
Driver=/usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1
UsageCount=1
FileUsage=1
Test the Connection using pyodbc
Try the connection to your database with something like this:
python -c "import pyodbc; print(pyodbc.connect('DRIVER=MyOracle;DBQ=x.x.x.x:1521/orcl;UID=myuid;PWD=mypwd'))"
DBQ format:Host:Port/"oracle instance"