OpenLink Software Logo

OpenLink SQL Server ODBC Driver for Linux

Installation and Configuration Guide for Lite Edition

Overview

This comprehensive installation guide walks you through the complete process of downloading, installing, configuring, and testing the OpenLink Lite Edition ODBC Driver for Microsoft SQL Server on Linux systems. The OpenLink Single-Tier ODBC Driver provides a direct, high-performance connection from your Linux applications to Microsoft SQL Server databases without requiring an intermediate middleware server.

Key Features

  • Direct connection to Microsoft SQL Server from Linux applications
  • Support for Azure SQL Database authentication
  • Configurable TDS protocol versions
  • Compatible with both iODBC and unixODBC driver managers
  • Support for SQL Server Sparse Columns and advanced features
  • Tunable connection parameters and buffer sizes
OpenLink SQL Server ODBC Driver Architecture
OpenLink Single-Tier SQL Server ODBC Driver Architecture
ℹ️ Note: This guide is specifically for the Lite Edition of the driver, which is designed for direct client-to-database connections, typically suitable for personal use or single-application deployments. For enterprise deployments requiring multi-tier architecture, refer to the Enterprise Edition documentation.

System Requirements

Supported Platforms

  • Linux (all distributions with glibc support)
  • x64 architectures

Prerequisites

  • ODBC Driver Manager: iODBC or unixODBC installed and configured
  • SQL Server Connectivity: Network access to target Microsoft SQL Server instance
  • Disk Space: Minimum 50MB for installation
  • User Privileges: Standard user account with write access to installation directory
  • License File: Valid SQL Server Lite Edition license (sql_lt.lic)

Database Compatibility

  • Microsoft SQL Server 2008 and later
  • Azure SQL Database (with appropriate authentication method)
  • SQL Server on Containers and Virtual Machines
⚠️ Important: Ensure your ODBC driver manager is properly installed before proceeding with the OpenLink driver installation. Verify with: which odbcinst (for unixODBC) or which iodbc-config (for iODBC)

Installation Steps

Step 1: Download the Installer Archive

Visit the OpenLink ODBC Lite Edition Driver Download Page to obtain the installer packages.

Alternatively, use curl to download the installation files directly:

curl -O https://download3.openlinksw.com/uda/components/10.0/x86_64-generic-linux-glibc212-64/sql_lt.taz 
curl -O https://download3.openlinksw.com/uda/components/10.0/x86_64-generic-linux-glibc212-64/odbc_admin.taz
curl -O https://download3.openlinksw.com/uda/components/misc/install.sh

Step 2: Prepare Installation Directory

Create an installation directory and prepare for installation:

# Create installation directory
mkdir -p ~/openlink/sql_lite

# Navigate to installation directory
cd ~/openlink/sql_lite

# Copy downloaded files
cp /path/to/sql_lt.taz .
cp /path/to/odbc_admin.taz .
cp /path/to/install.sh .

# Make install script executable
chmod +x install.sh

Step 3: Run the Installer

Execute the installation script:

./install.sh

Follow the on-screen prompts to complete the installation. Take care to enter correct information when prompted and note these details for future use.

Step 4: Configure Environment

Set up your environment variables:

# Source the OpenLink environment
cd ~/openlink/sql_lite
. ./openlink.sh

# Verify installation variable
echo $OPENLINK_INSTALL

# Verify Driver Manager (use appropriate command)
# For unixODBC:
odbcinst -j
# For iODBC:
iodbc-config --version

Step 5: Install License and Start License Manager

Copy your license file and start the license manager:

cp sql_lt.lic $OPENLINK_INSTALL/bin/

cd $OPENLINK_INSTALL/bin
./oplmgr +start

# Verify license manager is running
ps -ef | grep oplmgr
✓ Success: The OpenLink License Manager is now running. You can now create data sources.

Configuration

Create Data Source Name (DSN)

Edit the odbc.ini file located in $OPENLINK_INSTALL/bin/:

[sql_lite]
Driver=OpenLink Generic ODBC Driver
Description=Microsoft SQL Server via OpenLink
ServerType=SQLServer
Database=your_database_name
Options=-H your_server_address -P 1433
UID=your_username
PWD=your_password

Common Configuration Parameters

Parameter Description Example
ServerType Database server type SQLServer
Database Default database name master, your_db
-H Server address or hostname localhost, sql.example.com
-P Server port 1433
-V TDS Version 4.2, 4.6, 5.0, 7.0, 7.1, 7.2, 7.3, 7.4
--auth Authentication method adDefault, adIntegrated, adPassword, adServicePrincipal, adMSI, adInteractive, adServicePrincipalAccessToken
--conn Connection timeout (milliseconds) 5000, 10000
WideAsUTF16 Enable UTF16 support for unixODBC Yes, No

Azure SQL Database Configuration

For connecting to Azure SQL Database with Service Principal authentication:

[azure_sqldb]
Driver=OpenLink Generic ODBC Driver
ServerType=SQLServer
Database=your_database
Options=-H your_server.database.windows.net -P 1433 --auth adServicePrincipal
UID=your_service_principal_id
PWD=your_service_principal_secret

Performance Tuning

FetchBufferSize: Controls the number of records fetched from the server in a single batch. Higher values improve bulk operation performance but increase memory usage.

[sql_lite]
FetchBufferSize=100

TDS Protocol Version Control

  • TDS 4.2 - 5.0: Sybase and legacy SQL Server compatibility
  • TDS 7.0: SQL Server 7.0
  • TDS 7.1: SQL Server 2000
  • TDS 7.2: SQL Server 2005
  • TDS 7.3: SQL Server 2008
  • TDS 7.4: SQL Server 2012 and later

Testing Your Connection

Using iODBC (iodbctest)

iodbctest "DSN=sql_lite;UID=sa;PWD=xxxxxxxx"

Using unixODBC (isql)

isql sql_lite sa xxxxxxxx

# Example output:
# +---------------------------------------+
# | Connected!                            |
# |                                       |
# | sql>                                  |
# +---------------------------------------+

Once connected, verify the database connection with SQL commands:

sql> SELECT @@VERSION;
sql> SELECT name FROM sys.databases;
sql> QUIT;
✓ Verified: If you successfully connected and executed SQL commands, your OpenLink SQL Server ODBC Driver is properly configured and ready for use.

Troubleshooting

Issue: "Driver not found" error
Solution: Ensure OpenLink environment is sourced with . ./openlink.sh
Issue: "License expired" error
Solution: Verify license file is in $OPENLINK_INSTALL/bin/sql_lt.lic and license manager is running
Issue: Connection timeout
Solution: Increase timeout with --conn 10000 parameter or verify firewall rules allow port 1433

Frequently Asked Questions

How do I download the installer archive?
Visit the OpenLink ODBC Lite Edition Driver Download Page or use curl to download the install.sh, sql_lt.taz, and odbc_admin.taz files directly from the OpenLink download servers.
What command starts the installation process?
Run the 'install.sh' shell script from the installation directory with ./install.sh. Make sure the script is executable with chmod +x install.sh first.
How do I set up the OpenLink environment?
Run the command . ./openlink.sh (note the leading dot and space) from the installation directory. This sets up all necessary environment variables.
Where should the license file be placed?
Place the sql_lt.lic file in the {OPENLINK_INSTALL}/bin directory. This is typically ~/openlink/sql_lite/bin/sql_lt.lic if you installed in your home directory.
How do I start the OpenLink License Manager?
Navigate to the bin directory and run ./oplmgr +start. Check the status with ps -ef | grep oplmgr.
Does the driver support Azure SQL Database authentication?
Yes, the driver supports 7 authentication methods including adServicePrincipal, adMSI, adInteractive, adDefault, adIntegrated, adPassword, and adServicePrincipalAccessToken via the --auth parameter.
How can I specify a connection timeout?
Use the --conn parameter followed by the timeout value in milliseconds. For example, Options=--conn 5000 sets a 5-second timeout.
What TDS version does the driver use?
You can control the TDS version using the -V parameter. Valid values are 4.2, 4.6, 5.0, 7.0, 7.1, 7.2, 7.3, and 7.4.
How can I test the connection using iODBC?
Use the 'iodbctest' tool with the DSN string: iodbctest "DSN=sql_lite;UID=sa;PWD=xxxxxxxx". Replace values with your actual credentials.
How can I test the connection using unixODBC?
Use the 'isql' tool: isql sql_lite sa xxxxxxxx. This connects using the DSN, username, and password.
What does the FetchBufferSize parameter specify?
The FetchBufferSize parameter specifies the number of records to be delivered from the driver to the client application in a single batch. Higher values improve performance for bulk operations but use more memory. Typical values are 50-200.

Glossary

DSN (Data Source Name)
A string that has an associated data structure used to describe a connection to a data source. In ODBC, a DSN contains the driver name, server address, database name, and connection parameters.
ODBC (Open Database Connectivity)
A standard application programming interface (API) for accessing database management systems (DBMS). ODBC provides a database-agnostic interface that allows applications to connect to various databases.
TDS (Tabular Data Stream)
The application layer protocol used by Microsoft SQL Server to interact with database clients. Different TDS versions support different SQL Server features.
iODBC
An open-source ODBC driver manager and SDK that facilitates database connectivity on Unix/Linux systems.
unixODBC
An open-source project that implements the ODBC API for Unix and Linux operating systems. An alternative to iODBC with similar functionality.
Single-Tier Driver
A driver architecture where the driver communicates directly with the database without an intermediate middleware server.
Lite Edition
A version of the driver intended for direct client-to-database connections, typically for personal or single-application use.