ODBC to ODBC Bridge Driver

Enterprise Edition Installation Guide (Linux)

Complete step-by-step installation and configuration instructions

Overview

This installation guide walks you through the installation of the Enterprise Edition ODBC to ODBC Bridge Driver to a Personal or Application Server host functioning as a client to a database that's accessible via its native ODBC Driver.

Enterprise ODBC to ODBC Bridge Architecture
Enterprise Architecture for ODBC to ODBC Bridge Driver

Why OpenLink ODBC to ODBC Bridge?

While basic connectivity enables database access, it doesn't address the data security, privacy, and administrative architecture challenges facing modern enterprises. OpenLink's ODBC to ODBC Bridge Connector solves this with:

Fine-Grained Access Control

Powerful attribute-based access controls (ABAC) as ODBC session-level enforcers of data access policies, aligned with governance requirements and compliance standards.

Enhanced Data Security

Comprehensive protection mechanisms addressing data security and privacy challenges, ensuring sensitive information is protected at the session level.

Deployment Flexibility

Flexible topology options essential for managing large-scale ODBC-based client applications and services in enterprise environments.

System Requirements

Before beginning the installation process, ensure your system meets the following requirements:

Minimum Specifications

Critical: The Multi-Tier server components must match the bit architecture (32-bit or 64-bit) of your local ODBC drivers, not your operating system. Mismatched architectures will cause connection failures.

1Download the Installer Archive

Option A: Using the OpenLink Download Page

  1. Visit the OpenLink ODBC Enterprise Edition Driver Download Page to download the appropriate ODBC to ODBC Bridge Driver.

Option B: Using curl Command

Alternatively, use curl to download the installer archives and install.sh script directly:

curl -O https://download3.openlinksw.com/uda/components/misc/install.sh
curl -O https://download3.openlinksw.com/uda/components/9.0/x86_64-generic-linux-glibc25-64/oplodbc.taz
curl -O https://download3.openlinksw.com/uda/components/9.0/x86_64-generic-linux-glibc25-64/odbc_mv.taz
curl -O https://download3.openlinksw.com/uda/components/9.0/x86_64-generic-linux-glibc25-64/oplrqb.taz   
curl -O https://download3.openlinksw.com/uda/components/9.0/x86_64-generic-linux-glibc25-64/odbc_admin.taz

2Pre-Installation Configuration

Third-Party ODBC Drivers

You must possess third-party or native ODBC drivers that connect to your target data source. A client portion of these drivers must be installed on the same machine as the Multi-Tier "Enterprise" Edition Request Broker and Bridge Agent(s) for ODBC Data Sources.

Bit Format Compatibility

You must know whether the local ODBC components are 32-bit or 64-bit. The Multi-Tier server components must match the bit format of the local ODBC components, not the OS.

Tip: Check your ODBC driver architecture with: file /path/to/odbc/driver.so

3Installation

  1. Log onto the target machine for the installation and create a suitable OpenLink installation directory {OPENLINK_INSTALL}.
  2. Copy all the downloaded components to the {OPENLINK_INSTALL} directory, which are the install.sh, oplrqb.taz, oplodbc.taz, odbc_admin.taz, odbc_mv.taz files.
  3. Install OpenLink components using the install.sh shell script with the command:
    sh install.sh
  4. Take care to enter correct information when prompted pertaining to ports, passwords, etc. and ensure that you note these down for future use.
  5. The installation should finish without error.
Note: Keep track of the configuration information entered during installation (ports, passwords, etc.) as you will need these details later.

4Configuration

  1. To setup the OpenLink environment, from the {OPENLINK_INSTALL} directory run the command:
    . ./openlink.sh
  2. Open the file {OPENLINK_INSTALL}/bin/oplrqb.ini with a suitable text editor such as vi.
  3. Place the License file(s) (oplrqb.lic, odbc.lic) either purchased or obtained during the evaluation download process in the {OPENLINK_INSTALL}/bin directory.
  4. Start the OpenLink License Manager (oplmgr) by going to the {OPENLINK_INSTALL}/bin directory and running the command:
    ./oplmgr +start
  5. Start the OpenLink Request Broker (oplrqb) by going to the {OPENLINK_INSTALL}/bin directory and running:
    ./oplrqb -v     ;;; To start in background mode
    or
    ./oplrqb -fd    ;;; To start in foreground debug mode
Tip: Use -v flag for production environments (background mode) and -fd for troubleshooting (foreground debug mode).

5Create Data Source Name (DSN)

  1. Open the file {OPENLINK_INSTALL}/bin/odbc.ini with a suitable text editor such as vi.
  2. Locate and edit the sample OpenLink Multi-Tier ODBC data source (DSN) called [OpenLink] created during the installation process and edit as follows:
    [OpenLink]
    Driver          = {OPENLINK_INSTALL}/lib/oplodbc.so
    ServerType      = Odbc
    Host            = localhost:5000   ;;; replace "localhost" with the hostname
    Database        = {Third Party ODBC DSN Name}
    Options         = 
    Username        = {username}
    Password        = {optional password}
    FetchBufferSize = 99
    ReadOnly        = no
    DeferLongFetch  = no
    JetFix          = no
    WideAsUTF16     = Y
    Description     = Sample Multi-Tier Connection
Configuration Parameters:
  • Host: Replace "localhost" with the actual hostname if the broker runs on a different machine
  • Database: Enter the name of your third-party ODBC DSN
  • Username/Password: Provide credentials for the target database
  • WideAsUTF16: Set to Y for unixODBC compatibility

6Test Connection

Using iODBC Runtime Environment

Use the OpenLink iODBC iodbctest sample tool to make a test connection:

$ cd {OPENLINK_INSTALL}
$ . ./openlink.sh 
$ iodbctest "DSN=OpenLink;UID={username};PWD=xxxxxxxx"
iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.0507.0105
Driver: 08.02.1217 OpenLink Generic ODBC Driver (oplodbc.so) 

SQL>

SQL statements can now be issued directly against the target database from the SQL> prompt:

SQL> select count(*) from orders

(count(*))       
-----------------
23               

 result set 1 returned 1 rows.

SQL>

Using unixODBC Runtime Environment

When using the unixODBC Driver Manager, ensure the WideAsUTF16 = Y parameter is in your DSN:

$ isql OpenLink {username} {password}
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| echo [string]                         |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select count(*) from orders              
+------------------+
| (count(*))       |
+------------------+
| 23               |
+------------------+
SQLRowCount returns -1
1 rows fetched
SQL>
Success! Your ODBC to ODBC Bridge Driver is now installed, configured, and ready for use with your applications.

Glossary of Terms

This section defines key technical terms and components related to the OpenLink ODBC to ODBC Bridge Driver installation and configuration.

ODBC

Open Database Connectivity (ODBC) is a standard C-language application programming interface (API) for accessing database management systems (DBMS). It provides a standardized way for applications to access different databases regardless of the database vendor.

DSN

Data Source Name (DSN) is a data structure that contains the information about a specific database that an ODBC driver needs in order to connect to it. DSNs are typically stored in configuration files like odbc.ini and define connection parameters such as host, port, username, and database name.

Request Broker

The OpenLink Request Broker (oplrqb) is a core Multi-Tier component that listens for client connection requests and routes them to an appropriate database agent. It acts as a central hub for managing connections in the multi-tier architecture.

License Manager

The License Manager (oplmgr) is an OpenLink component responsible for managing and validating license files. It must be running before the Request Broker can start, as the broker checks for valid licenses on startup.

iODBC

iODBC is an open-source ODBC driver manager for non-Windows platforms (primarily Unix/Linux), providing an implementation of the ODBC API. It allows applications to use ODBC to access databases on systems where the Windows ODBC driver manager is not available.

unixODBC

unixODBC is an open-source project that provides an implementation of the ODBC API for non-Windows platforms, including a driver manager and associated tools like isql. It's widely used on Linux systems as an alternative to iODBC.

LD_LIBRARY_PATH

LD_LIBRARY_PATH is an environment variable on Unix-like systems that specifies a list of directories where the dynamic linker should look for shared libraries at runtime. Adding ODBC driver paths to this variable ensures they can be found by the OpenLink driver.

Bridge Agent

The Bridge Agent is the server-side component that communicates with the target database's native ODBC driver. It receives requests from the Request Broker and executes them against the local third-party DSN, effectively acting as a bridge between the OpenLink protocol and the native ODBC driver.

Multi-Tier Architecture

Multi-Tier is an architecture where a client, a middle-tier service (like the Request Broker), and a database server are distinct components, often running on separate machines. This architecture enhances scalability, flexibility, and allows for bit-format mixing (32-bit clients with 64-bit backends, or vice versa).

Enterprise Edition

The Enterprise Edition of the OpenLink ODBC to ODBC Bridge Driver is the production-grade version designed for high-performance, mission-critical deployments. It includes advanced features like connection pooling, load balancing, and comprehensive security options.

WideAsUTF16

WideAsUTF16 is an ODBC configuration parameter used with unixODBC to specify how wide character (Unicode) data should be handled. Setting WideAsUTF16 = Y ensures proper UTF-16 encoding compatibility with applications built using the unixODBC SDK.

ODBC-to-ODBC Bridge

An ODBC-to-ODBC Bridge is a connection mechanism that allows ODBC-compliant applications to access remote databases through their native ODBC drivers. The OpenLink implementation provides a Multi-Tier solution that enables connectivity across networks, platforms, and architectural boundaries.

Frequently Asked Questions

Where can I download the OpenLink ODBC to ODBC Bridge Driver for Linux?

You can download the driver from the official OpenLink ODBC Enterprise Edition Driver Download Page . Alternatively, you can use curl to download the installer archives directly from the command line using the download links provided in Step 1.

What are the main prerequisites before starting the installation?

You must have the third-party or native ODBC drivers for your target database already installed. The library file for this driver must be included in your system's shared library path (e.g., LD_LIBRARY_PATH). Additionally, ensure you have the appropriate read/write permissions for the installation directory.

Does the bit-format of the OpenLink server components need to match the OS?

No, the bit-format (32-bit or 64-bit) of the OpenLink Multi-Tier server components must match the bit-format of the local third-party ODBC components, not the operating system. This allows you to run a 32-bit ODBC driver on a 64-bit OS by using 32-bit OpenLink components.

What is the command to start the installation?

After copying all downloaded files to an installation directory, run the command sh install.sh to begin the installation process. Follow the prompts, providing the requested information such as port numbers and administrative passwords.

How do I configure the environment after installation is complete?

From within the installation directory, you must source the environment script by running the command: . ./openlink.sh. This sets up all necessary environment variables for the OpenLink components to function correctly.

Where should the license files be placed?

The license files (e.g., oplrqb.lic, odbc.lic) must be placed in the {OPENLINK_INSTALL}/bin directory. After placing the license files, restart the License Manager and Request Broker to activate the licenses.

How do I start the OpenLink Request Broker service?

Navigate to the {OPENLINK_INSTALL}/bin directory and run ./oplrqb -v to start it in the background, or ./oplrqb -fd to start it in foreground debug mode. The default port for the Request Broker is 5000.

Which file do I edit to create a new Data Source Name (DSN)?

You need to edit the {OPENLINK_INSTALL}/bin/odbc.ini file to configure a DSN for the ODBC-to-ODBC bridge. This is a standard ODBC configuration file used by both iODBC and unixODBC driver managers.

What is the 'Database' parameter in the odbc.ini file for this driver?

The 'Database' parameter should be set to the name of the third-party ODBC DSN that is configured on the same machine and connects to your target data source. This creates the bridge between the OpenLink driver and the underlying ODBC driver.

Is any special configuration needed for the unixODBC Driver Manager?

Yes, you must add the parameter WideAsUTF16 = Y to the target DSN in your odbc.ini file to ensure successful connections with applications built using the unixODBC SDK. This ensures proper Unicode character handling.

How can I test the connection using iODBC?

You can use the iodbctest utility with a connection string, for example: iodbctest "DSN=OpenLink;UID={username};PWD=xxxxxxxx". Once connected, you can issue SQL queries directly against your target database.

Cannot locate ODBC driver

Ensure the ODBC driver library is installed and properly linked in your system's library path. Add the driver path to your LD_LIBRARY_PATH environment variable:

export LD_LIBRARY_PATH=/path/to/odbc/drivers:$LD_LIBRARY_PATH
Broker connection refused on port 5000

Verify that the Request Broker (oplrqb) is running and listening on the configured port. Check the status and review the broker logs:

ps aux | grep oplrqb
tail -f {OPENLINK_INSTALL}/bin/oplrqb.log
License file not found

Ensure license files (oplrqb.lic, odbc.lic) are placed in {OPENLINK_INSTALL}/bin directory. Restart the License Manager and Request Broker after adding licenses.

Architecture mismatch - 32-bit ODBC driver, 64-bit OpenLink

Download the OpenLink components matching your ODBC driver's bit format, not your OS architecture. Verify with: file /path/to/odbc/driver.so

Connection timeout or DSN not found

Verify your DSN configuration in odbc.ini. Ensure the Database parameter references a valid third-party ODBC DSN that's configured on the same machine as the broker.

unixODBC connection issues

Add WideAsUTF16 = Y parameter to your OpenLink DSN in odbc.ini. This ensures proper character encoding compatibility with unixODBC-built applications.

What is an ODBC-to-ODBC Bridge and why would I need one?

An ODBC-to-ODBC Bridge allows an ODBC-compliant application on one machine to access a database on another machine via its own ODBC driver. It's useful for crossing network boundaries, connecting between different operating systems, or bridging between applications and databases with incompatible architectures.

Can I use this driver to connect a 32-bit application to a 64-bit database driver?

Yes, this is a key use case. The Multi-Tier bridge allows a 32-bit client application to connect to the 32-bit OpenLink driver, which then communicates with the 64-bit Request Broker and Agent, which in turn uses the 64-bit native database driver.

What are the default port numbers for the OpenLink services?

The default port for the OpenLink Request Broker is 5000. This is configurable during the installation process and in the oplrqb.ini file. You can change this if port 5000 conflicts with other services on your system.

Additional Resources