Linux DSN Configuration
This section describes how to set up ODBC connectivity and configure DSNs on several Linux distributions: Debian-based systems, like Ubuntu, and Red Hat Linux platforms, like Red Hat Enterprise Linux (RHEL), CentOS, and Fedora.
Minimum Linux Versions
Here are the minimum supported versions for Red Hat-based and Debian-based systems:
OS | Min. Version |
Ubuntu | 11.04 |
Debian | 7 |
RHEL | 6.9 |
CentOS | 6.9 |
Fedora | 13 |
SUSE | 12.1 |
Installing the Driver Dependencies
Run the following commands as root or with sudo to install the necessary dependencies:
- Debian/Ubuntu:
apt-get install libc6 libstdc++6 zlib1g libgcc1
- RHEL/CentOS/Fedora:
yum install glibc libstdc++ zlib libgcc
Here are the corresponding libraries required by the driver:
Debian/Ubuntu Package | RHEL/CentOS/Fedora Package | File |
libc6 | glibc | linux-vdso.1 |
libc6 | glibc | libm.so.6 |
libc6 | glibc | librt.so.1 |
libc6 | glibc | libdl.so.2 |
libc6 | glibc | libpthread.so.0 |
libc6 | glibc | libc.so.6 |
libc6 | glibc | ld-linux-x86-64.so.2 |
libstdc++6 | libstdc++ | libstdc++.so.6 |
zlib1g | zlib | libz.so.1 |
libgcc1 | libgcc | libgcc_s.so.1 |
Installing the Driver
You can use standard package management systems to install the driver.
On Debian-based systems, like Ubuntu, run the following command with root or sudo:
dpkg -i /path/to/driver/setup/OracleOciODBCDriverforUnix.deb
On systems that support the RPM package format, run the following command with root or sudo:
rpm -ivh /path/to/driver/OracleOciODBCDriverforUnix.rpm
Licensing the Driver
Run the following commands to license the driver. To activate a trial, omit the <key> input.
cd /opt/cdata/cdata-odbc-driver-for-oracleoci/bin/
sudo ./install-license.sh <key>
Connecting through the Driver Manager
The driver manager loads the driver and passes function calls from the application to the driver. You need to register the driver with the driver manager and you define DSNs in the driver manager's configuration files.
The driver installation registers the driver with the unixODBC driver manager and creates a system DSN. The unixODBC driver manager can be used from Python and from many other applications. Your application may embed another driver manager.
Creating the DSN
See Using unixODBC to install unixODBC and configure DSNs. See Using the DataDirect Driver Manager to create a DSN to connect to OBIEE, Informatica, and SAS.
Before You Connect
To connect to Oracle, you will first need to update the appropriate environment variable. This variable must contain a folder location that includes the Oracle OCI Library assemblies, which are shipped alongside the driver. The correct environment variable depends upon your platform:- Windows: The native libraries should be on your PATH. Note that the VC++ 2017 Redistributable package is required to load the OCI libraries.
- Mac: The native libraries should be on your DYLIB_LIBRARY_PATH.
- Linux: The native libraries should be on your LD_LIBRARY_PATH.
These native libraries can be found in the lib folder inside the installation directory of the driver.
Connecting to Oracle OCI
The following connection types are available:- Oracle Server
- OracleTNS
- LDAP
Oracle Server
After you have added the appropriate libraries to your PATH, set the following to connect:
- User: The user Id provided for authentication with the Oracle database.
- Password: The password provided for authentication with the Oracle database.
- Port: The port used to connect to the server hosting the Oracle database.
- ServiceName: The service name of the Oracle database. You can obtain this value by querying global_name (select * from global_name) using the Oracle SQL*PLUS command line.
- Server: The host name or IP address of the server hosting the Oracle database.
OracleTNS
Set the following connection properties prior to connecting:- User: The user Id provided for authentication with the Oracle database.
- Password: The password provided for authentication with the Oracle database.
- DataSource: The Oracle Net Services Name, Connect Descriptor (known also as TNS Connect String), or a connection name that identifies the database to which to connect. You should be able to find these values in your tnsnames.ora file.
For example,
DataSource='(DESCRIPTION=(ADDRESS=(protocol_address_information))(CONNECT_DATA= (SERVICE_NAME=service_name)))'
LDAP
In this scheme, you need to authenticate to the LDAP server. Set the following connection properties to connect:- User: The user Id provided for authentication with the Oracle database.
- Password: The password provided for authentication with the Oracle database.
- LDAPUri: The LDAP URI used to connect to the LDAP server.
- LDAPUser: The User account for LDAP server.
- LDAPPassword: The password for the LDAP user.
Your connection string should look similar to this:
LDAPUri=ldap://myldap.com:389/SERVICE_EXMPL,cn=OracleContext,dc=example,dc=com; User=ORACLEUSER; Password=OracleUserPassword;Note that this connection type requires both your Oracle and LDAP usernames and passwords. Your system administrator may allow anonymous LDAP logins, in which case your LDAP username and password are not needed.
Set the Driver Encoding
The ODBC drivers need to specify which encoding to use with the ODBC Driver Manager. By default, the CData ODBC Drivers for Unix are configured to use UTF-16 which is compatible with unixODBC, but other Driver Managers may require alternative encoding.
Alternatively, if you are using the ODBC driver from an application that uses the ANSI ODBC API it may be necessary to set the ANSI code page. For example, to import Japanese characters in an ANSI application, you can specify the code page in the config file '/opt/cdata/cdata-odbc-driver-for-oracleoci/lib/cdata.odbc.oracleoci.ini':
[Driver]
AnsiCodePage = 932