Linux DSN Configuration
This section shows how to connect to Excel Services and execute SQL queries from several Linux distributions: Debian-based systems, like Ubuntu, and Red Hat Linux platforms, like Red Hat Enterprise Linux (RHEL), CentOS, and Fedora.
Using a Driver Manager
Before installing the CData ODBC Driver for Excel Services 2016 on Linux, you will need to install a driver manager. ODBC-compliant applications connect to the driver through a driver manager. After you connect, the driver manager loads the driver and passes function calls from the application to the driver. The driver manager also implements some functions for discovering the registered drivers and DSNs. DSNs can be defined for a specific user or system wide.
Installing unixODBC
Precompiled binaries for the unixODBC driver manager are available for many operating systems.
On Debian-based systems like Ubuntu, you can install unixODBC by running the
following command as root or with sudo:
apt-get install unixODBC unixODBC-devOn Red Hat Enterprise Linux, CentOS, and Fedora, you can install unixODBC with YUM or DNF. For example, run the following command as root or with sudo:
yum install unixODBC unixODBC-develIf binaries are not available for your operating system, you will need to compile unixODBC yourself. Please refer to the unixODBC website for more information about obtaining binaries or compiling unixODBC on your operating system.
Installing the Driver Dependencies
Minimum Linux Versions
Below are the minimum supported versions for Red Hat-based and Debian-based systems:
| OS | Min. Version |
| Ubuntu | 11 |
| Debian | 7 |
| RHEL | 6 |
| CentOS | 6 |
| Fedora | 13 |
Required Libraries and Packages
Below are the libraries required by the driver and their corresponding packages:| 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 Packages
You can install the necessary dependencies with the following commands:- Debian/Ubuntu:
apt-get install libc6 libstdc++6 zlib1g libgcc1
- RHEL/CentOS/Fedora:
yum install glibc libstdc++ zlib libgcc
Installing the Driver
You can use standard package management systems to easily and quickly install the driver.
On Debian-based systems, like Ubuntu, you can install the driver by running
the following command as root or with sudo:
dpkg -i /path/to/.debOn systems that support the RPM package format, you can install the driver by running the following command as root or with sudo:
rpm -Uvh /path/to/.rpm
Using the unixODBC Configuration Files
You can determine the location of the configuration files on your system by entering the following command into a terminal:
odbcinst -jBelow is an example of the output of this command:
DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini FILE DATA SOURCES..: /etc/ODBCDataSources USER DATA SOURCES..: /home/myuser/.odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8The driver installation registers the driver for system-wide use and creates a system DSN with empty values for commonly required properties. Modifying unixODBC's system-wide settings requires elevated permissions; to do so, you can use root or the sudo command.
Configuring a DSN
ODBC data sources are defined in sections in the odbc.ini file.
In addition to the connection properties required to connect to your data source, the Driver property specifies either a driver definition in the odbcinst.ini file or the path to the driver library.
[CData ExcelServices Source] Driver = CData ODBC Driver for ExcelServices Description = My Description MyConnectionProperty1 = My Value MyConnectionProperty2 = My Value2
You can list the data sources on your system with the following command:
odbcinst -q -s
Connecting to SharePoint Online
Set SharePointEdition to "SharePoint Online" and set the User and Password for an Azure Active Directory account.
Set the Url to a site collection to query workbooks in all nested sites. Set the Url to a site to query workbooks in that site only.
| URL | Example URL |
| Site | https://teams.contoso.com/teamA or https://teamA.contoso.com |
| Site Collection | https://teams.contoso.com |
- Library: The Shared Documents library is used by default. You can use this property to specify another document library in your organization; for example, if you want to connect to OneDrive for Business, set this property to "Documents".
- Folder: You can use this property to specify a path to a subfolder in a library. The path is relative to the library name specified in Library.
Connecting to SharePoint On Premises
Set SharePointEdition to "SharePoint OnPremise" and set the Url to your server's name or IP address. Additionally, set SharePointVersion.
To authenticate to SharePoint OnPremise, set AuthScheme to the authentication type and set User and Password, if necessary.
-
Windows (NTLM)
This is the most common authentication type. As such, the driver is preconfigured to use NTLM as the default; simply set the Windows User and Password to connect.
-
Kerberos and Kerberos Delegation
To authenticate with Kerberos, set AuthScheme to NEGOTIATE. If needed, provide the User and Password properties. To use Kerberos Delegation, set AuthScheme to KERBEROSDELEGATION.
KerberosKDC, KerberosSPN, and KerberosRealm enable control over the components of Kerberos authentication.
-
Forms
This allows authentication through a custom authentication method, instead of Active Directory. To use this authentication type, set AuthScheme to FORMS and set the User and Password.
Configuring Driver Definitions
The sections of the odbcinst.ini file map a driver name to the driver library. The section begins with the driver name; the Driver property points to the path to the driver library. The driver library is the .so file located by default in /opt/cdata/excelservices/lib. A Description property can also be provided.
You can list the drivers installed on the system with the following command:
odbcinst -q -d
Testing the Connection
You can use isql, included with unixODBC, to execute SQL queries to Excel Services from the command line. When testing the connection, use the -v flag to output any messages from the driver manager and the driver.
isql -v "CData ExcelServices Source"