How to Install and Configure the Lite Edition JDBC Driver for ODBC, on macOS

A guide for installing the Lite Edition JDBC Driver for ODBC data sources, on macOS.

Pre-installation Guide

Pre-Installation Requirements for the Lite Edition (Single-Tier) JDBC Driver for ODBC Data Sources (a/k/a JDBC-to-ODBC Bridge), for macOS.

  1. You must have a working ODBC Environment (comprising an ODBC Administrator and Driver Manager) that is compatible with the Single-Tier (Lite Edition) JDBC to ODBC Bridge Driver for ODBC Data Sources.
  2. You must be able to establish an ODBC connection to one or more target databases using third-party or native ODBC drivers that have already been installed.
  3. You must have a Java Runtime Environment (JRE) that is compatible with the Single-Tier (Lite Edition) ODBC Driver for JDBC Data Sources.
    • Generally, the latest JVM from http://java.com/ is the best choice.
    • If using a 64-bit ODBC Driver, you must have a 64-bit JVM.
  4. You must possess third-party or native JDBC drivers that connect to your target database.

Installation Guide

Installation of the Single-Tier(Lite-Edition) Edition JDBC Driver for ODBC Data Sources (a/k/a JDBC-to-ODBC Bridge), for macOS

  1. Download and open the Lite Edition (Single-Tier) ODBC Driver for JDBC Data Sources disk image (.dmg) file.
  2. Double-click the .mpkg file to start the installation process.
  3. After the driver has been installed, you will be prompted to locate a license file.
    • If a correctly named file already exists in $OPL_LICENSE_DIR, /Library/Application Support/OpenLink/Licenses/, you will not see this dialog. If the existing file is not valid (evaluation has expired, it's for a different OS, it permits insufficient processor cores, etc.), you will need to manually apply a valid license file after installation is completed.
    • In some environments, this dialog may be hidden by the Installer.app or other windows on your Mac. Please minimize, hide, and/or move windows until you can see and act on this dialog. If you do not answer this dialog, the installation will not complete properly, and the driver will not function as desired.
    • If a license file already exists on the machine, select the 'use existing' option. (Previously generated license files may be re-downloaded from your ODS-Briefcase data space.)
    • If you need to obtain a new trial or permanent license file, select the 'try or buy' option, which will load a relevant web page from which you can obtain a license file.
  4. When the process is complete, you will be told that the software was successfully installed. Click "Close" and the Single-Tier "docs.openlinksw.com/uda/" Edition JDBC Driver for ODBC Data Sources is ready for use.

Data Source Name Configuration Guide

Configuration of the Lite Edition (Single-Tier) JDBC Driver for ODBC Data Sources (a/k/a JDBC-to-ODBC Bridge), for macOS

  1. JDBC client applications always require users to provide the Driver Class Name and Connection URL.
    • Driver Class Name -- openlink.jdbc.Driver, openlink.jdbc2.Driver, or openlink.jdbc3.Driver, depending on active JVM. See detailed documentation.
    • Connection URL -- See detailed documentation to construct your local URL, which will be of the form:
      jdbc:openlink://ODBC[/DSN=dsn][/UID=uid][/PWD=pwd][/READONLY=x]
      For example:
      jdbc:openlink://ODBC/DSN=MyOracleDSN/UID=scott/PWD=tiger
      • /DSN -- Local ODBC Data Source Name
      • /UID -- Database Username
      • /PWD -- Database Password
      • /READONLY -- Read-write or read-only session mode. Values are "Y" or "N". Default is "N", and this is the effect if unset; i.e., a read-write connection.
  2. Sometimes the JDBC client applications also require the Driver File Name and/or the path to it. macOS uses /Library/Java/Extensions/ as its default CLASSPATH. All JDBC drivers (or aliases or symbolic links to them) should be installed here, and this is what our installer does. The Driver File Name depends on the active JVM -- opljdbc.jar, opljdbc2.jar, or opljdbc3.jar. See detailed documentation.
  3. No further system configuration should be needed.

Walkthrough with screenshots

Installation walkthrough with screenshots

The same installation, step by step, with the screens you will see.

Installation and Configuration of the Lite Edition (Single-Tier) ODBC Driver for JDBC Data Sources (a/k/a ODBC-to-JDBC Bridge), for Mac OS X


Review Preinstallation Documentation: Pre-Installation Requirements

Installation

  1. The Lite Edition (Single-Tier) ODBC Driver for JDBC Data Sources is distributed in a single disk image (.dmg) file, which contains a Macintosh Installer package (.mpkg).

  2. Double-click the .mpkg to start the installation process.

  3. You will encounter a warning message that will ask you if you are sure that you want to install the software. Click Continue.

  4. The installer will display a Welcome message. Click "Continue."

  5. The next screen will display the Read Me file, including any last- minute updates to these documents. Please read carefully and click "Continue" when finished.

  6. The next screen will display the License Agreement for the Single-Tier "Lite" Edition ODBC Driver for JDBC Data Sources. Please read and click "Continue."

  7. You will be prompted to "Agree" to continue the installation or "Disagree" to abort.

  8. You will be asked to select a Destination Volume. Generally, this should be your Mac OS X boot volume. Click on the desired disk icon and then click "Continue."

  9. You may now choose the Easy Install, or if you are an experienced user, you may Customize which components are installed. We generally recommend the Easy Install.
  10. If you have installed OpenLink or iODBC components in the past, click "Upgrade" to continue. Otherwise, click "Install."

  11. If you chose the custom option, select which of the listed components to install.

  12. You must have an Administration username and password to install this driver. Enter your Mac OS X Username and Password.

  13. You will be shown a graphical progress bar as the Installation progresses, followed by System Optimization.
  14. After the driver has been installed, you will be prompted to locate a license file.

    NOTE -- If a correctly named file already exists in $OPL_LICENSE_DIR, /Library/Application Support/openlink/bin/, you will not see this dialog. If the existing file is not valid (evaluation has expired, it's for a different OS, it permits insufficient processor cores, etc.), you will need to manually apply a valid license file after installation is completed.

    NOTE -- In some environments, this dialog may be hidden by the Installer.app or other windows on your Mac. Please minimize, hide, and/or move windows until you can see and act on this dialog. If you do not answer this dialog, the installation will not complete properly, and the driver will not function as desired.

    • If a license file already exists on the machine, select the 'use existing' option. (Previously generated license files may be re-downloaded from your ODS-Briefcase data space.)

    • If you need to obtain a new trial or permanent license file, select the 'try or buy' option, which will load a relevant web page from which you can obtain a license file.

  15. When the process is complete, you will be told that the software was successfully installed. Click "Close" and the Single-Tier "Lite" Edition ODBC Driver for JDBC Data Sources is ready for use.

Configuration

To configure an ODBC DSN, run the OpenLink iODBC Administrator located in the /Applications/iODBC folder:

  1. Click the System DSN tab:

  2. Click the Add button. Then, select the OpenLink JDBC Lite Driver from the list of available drivers. Select the Unicode version of the driver if and only if you are working with multi-byte character sets, as unnecessary translations can significantly affect ODBC performance:

  3. Click Finish.
  4. The Data Source tab prompts a Data Source Name and optional description.

  5. Click Continue.
  6. The Connection Tab takes the minimum requirements that are necessary to connect to your JDBC data source.

    • JDBC Driver - The class name for your third-party JDBC driver, e.g., virtuoso.jdbc3.Driver
    • URL String - The JDBC connection URL for your third-party JDBC driver
    • Username - The username for your JDBC database
  7. The Options tab displays additional parameters that can be configured for the connection.

    • Row Buffer Size - The number of records to be transported over the network in a single network hop. Values can range from 1 to 99.
    • Hide Login Dialog - Suppresses the ODBC "Username" and "Password" login dialog boxes when interacting with your ODBC DSN from within an ODBC compliant application.
    • Read Only connection - Specifies whether the connection is "Read-only." Make sure the checkbox is unchecked to request a "Read/Write" connection.
    • Drop Catalog from Meta calls - Enable this option to have the catalog name not appear for tables, views, and procedures when requesting database meta-data.
    • Drop Schema from Meta calls - Enable this option to have the schema name not appear for tables, views, and procedures when requesting database meta-data.
    • No support of quoted identifier - If set, the call SQLGetInfo for 'SQL_IDENTIFIER_QUOTE_CHAR' will return a space (" "). It can be used if the DBMS doesn't support quoted SQL like SELECT * from "account"
    • SQLStatistics disabled - Check this box to have SQLStatistics() return an empty result set. Use this if the underlying database does not support retrieval of statistics about a table (e.g. what indexes it has).
    • No support of search string escape - If set, the call SQLGetInfo(SQL_LIKE_ESCAPE_CLAUSE) will return a space (" "). It can be used if the DBMS doesn't support SQL escape patterns.
    • Patch of NULL size of SQL_CHAR - If set, this option overrides the size of SQL_CHAR column type returned by the database with the value set in the text box (in bytes). With a default value of 0, the driver uses the size returned by the database.
    • SQL_DBMS Name - Manually overrides the SQLGetInfo(SQL_DBMS_NAME) response returned by the driver. This is required for products like Microsoft InfoPath (for which the value should be "SQL Server").
  8. Click Continue to view additional preferences that can be set for the connection.

    • Initialization SQL - Lets you specify a file containing SQL statements that will be run automatically against the database upon connection.
    • Cursor Sensitivity - Enables or disables the row version cache used with dynamic cursors. When dynamic cursor sensitivity is set high, the Cursor Library calculates check-sums for each row in the current rowset and compares these with the check-sums (if any) already stored in the row version cache for the same rows when fetched previously. If the check-sums differ for a row, the row has been updated since it was last fetched and the row status flag is set to SQL_ROW_UPDATED. The row version cache is then updated with the latest check-sums for the rowset. From the user's point of view, the only visible difference between the two sensitivity settings is that a row status flag can never be set to SQL_ROW_UPDATED when the cursor sensitivity is low. (The row status is instead displayed as SQL_ROW_SUCCESS.) In all other respects, performance aside, the two settings are the same. Deleted rows don't appear in the rowset. Updates to the row since the row was last fetched are reflected in the row data, and inserted rows appear in the rowset, if their keys fall within the span of the rowset. If your application does not need to detect the row status SQL_ROW_UPDATED, you should leave the 'High Cursor Sensitivity' checkbox unchecked, as performance is improved. The calculation and comparison of check-sums for each row fetched carries an overhead. Before enabling this option, the table oplrvc must be created using the appropriate script for the target database.
    • Max Rows Override - Allows you to define a limit on the maximum number of rows to be returned from a query. The default value of 0 means no limit.
    • Disable AutoCommit - Changes the default commit behavior of the OpenLink driver. The default mode is AutoCommit (box unchecked).
    • Disable Rowset Size Limit - Disables a limitation enforced by the cursor library. This limitation is enforced by default. It prevents the driver from claiming all available memory in the event that a result set generated from an erroneous query is very large. The limit is not normally reached.
    • Defer fetching of long data - Defers fetching of LONG (BINARY, BLOB, etc.) data unless explicitly requested in a query. This can provides significant performance increases when fields in query do not include LONG data fields.
    • Multiple Active Statements Emulation - Enables use of Multiple Active Statements in an ODBC application even if the underlying database does not allow this, as it is emulated in the driver.
  9. Click the Finish button to save your new Data Source Name.

Next...

  • Test your DSNs with our sample program.

  • If anything isn't working as you expect, including errors resulting from the test above, see our Troubleshooting Resources.

  • Should you decide to purchase a commercial license at the end of your evaluation period, be sure to consult our documentation which explains the placement and uptake of commercial license files and the use of our OpenLink License Manager technology: License Technology & Application.

Configuration and upgrades

Upgrades and existing installations

Finding out what is installed, and moving to a newer release.

Upgrades & Pre-Existing Installations

Upgrades & Pre-Existing Installations

Identifying Pre-existing Installations

Use the following instructions to search for pre-existing OpenLink components on partner-supplied machines and other hardware:

1. Open Windows ODBC Data Sources Administrators or Mac iODBC Data Sources Administrators. Click on the Drivers tab. Look for OpenLink driver entries.

2. Open Windows registries. Expand the HKEY_ LOCAL_ MACHINE\SOFTWARE\ODBC\ODBCINST.INI tree structure. Look for OpenLink driver entries.

3. Use the Windows explorer to search for oplrqb.exe, olod*.dll, or lite32.

4. Open the Windows Services utility and look for an OpenLink Request Broker or License Manager service.

5. Log in to Mac OS X machines and open the Applications folder. Look for an OpenLink=>Universal Data Access Drivers folder structure.

6. Log in to Unix machines and use the find / -name file -print command to search for the following files: oplrqb, oplodbc.s*, openlink.ini

Discovery of one or more of these files confirms the presence of OpenLink's Multi-Tier, Single-Tier or Express Edition drivers. If you want to install new software, you have two options:

7. Remove the old software and start fresh.

8. Obtain version information from the existing software and obtain new components from the same build.

Upgrades & Pre-Existing Installations

Upgrades & Pre-Existing Installations

Mixing & Matching Components from Different Versions

OpenLink Software does not support mixed-version installations. Mismatched client and server software may not hinder your ability to connect and query. However, version incompatibility issues will arise over time. In fact, if you mix OpenLink 3.x and OpenLink 4.x software, you can expect specific problems with stability, transactions, and threading. These problems may only be resolved by upgrading the older component.


Be advised: Under rare circumstances, you may be forced to deploy a mixed installation. As stated previously, 3.x and 4.x components tend to generate problems. However, 4.x client components appear to work well with 5.x server components.

Upgrades & Pre-Existing Installations

Upgrades & Pre-Existing Installations

Detecting Sofware Versions

You may employ a variety of methods to obtain your product version information. Windows and Mac Single-Tier users should open their ODBC Administrator. The Single-Tier driver version appears on the Drivers tab of this Administrator. Users simple scroll through the Driver list box, locate their driver, and record the version string, which appears to the right of the driver name.


Windows & Mac Client Drivers (Express Edition/Single-Tier/Multi-Tier)

1. Open your ODBC Data Sources Administrator or iODBC Data Sources Administrator.
2. Click the Drivers tab.
3. Scroll through the list box until you locate the OpenLink driver.
4. View the driver version information that appears to the right of the driver name.


Unix Client Drivers (Single-Tier/Multi-Tier)

1. Login to the client machine.
2. cd into the root of the OpenLink installation.
3. Execute the openlink.sh or openlink.csh shell script.
4. cd into the /samples/ODBC (MT) or /bin (ST) sub-directory of the installation.
5. Use odbctest or iodbctest to connect to your Data Source.
6. View the driver version information that appears above the SQL> prompt.
7. Alternatively, run one of the following commands from the /lib sub-directory:

HP-UX strings *.sl grep "Driver" sort -u
All Other Unix strings *.so grep "Driver" sort -u


Multi-Tier Server Components (All Platforms)

1. Open a DOS Command Prompt, Unix console terminal, or similar command line utility.
2. cd into the /bin sub-directory of the OpenLink server components installation.
3. Type the broker or agent name and append -? or ?v to the end of the name. For example:

oplrqb -?
ingii_mv -?
sql_mv -?

4. Record the version information that is returned by the broker or agent.

Upgrades & Pre-Existing Installations

Upgrades & Pre-Existing Installations

Running Multiple Versions Simultaneously

You can run multiple driver versions for comparative and diagnostic purposes. Take the following action to proceed:

Single-Tier & Express Edition Drivers

1. Shutdown your License Manager, if you have OpenLink 6.0 drivers installed.
2. Install your new drivers in a separate directory.
3. Place your new license files in the /bin sub-directory of the new installation.
4. Restart your License Manager, if you have OpenLink 6.0 drivers installed.


Multi-Tier Drivers

1. Shutdown your License Manager, if you have OpenLink 6.0 drivers installed.
2. Install your new drivers in a separate directory.
3. Place your new license files in the /bin sub-directory of the new installation.
4. Restart your License Manager, if you have OpenLink 6.0 drivers installed.
5. Use a text editor to open the oplrqb.ini files that appear in the /bin sub-directories of both Multi-Tier server component installations.
6. Locate the [Protocol TCP] section. For example:

INI
  [Protocol TCP]
PingWatchdog = No
PingInterval = 600
Listen     = 5000
PortLow    = 5000
PortHigh    = 5025
;IPAddress    = 127.0.0.1


7. Insure that each Listen port references a different, unused TCP/IP port. (Use PortLow for OpenLink 1.x-3.x.)

8. Save any changes to the oplrqb.ini files.

9. Start your Request Brokers.


BE ADVISED: The above instructions may not bring success in all scenarios. The following issues could present challenges that warrant attention from OpenLink Product Support:

1. Differing Windows driver versions may share the same .dll name. This could provide configuration challenges.

2. Some Windows installers may force you to remove an older installation.

3. OpenLink's 1.x and 3.x use UDP ports to broadcast license information. You need to contact Product Support for specialized configuration in this instance.

Upgrades & Pre-Existing Installations

Upgrades & Pre-Existing Installations

Installing New Software on Top of Old Software

You can install new software on top of existing software. However, this is not the preferred course of action, in many circumstances. You should install new software to new directories, if you are attempting to compare software performance or troubleshoot problems.

Uninstalling Our Components

Removing installations of our components takes different steps for different platforms.

Windows

You may use the uninstall utility to remove existing Windows software. You may also use the Add/Remove Programs utility, which appears in the Control Panel.

Mac OS X

The following sequence will cleanly remove all iODBC and Data Access components added by our installers.

  1. Double-click the Uninstall.command script (/Applications/OpenLink/Universal Data Access Drivers (* Tier Edition)). If the script is not present, skip ahead to #3.

  2. Answer the questions posed by the script. Please note that you must answer with the mixed-case, full-word answers. Anything other than `Yes`, `All`, or `Quit`, will be interpreted as `No`, including `y`, `Y`, and `yes`.

  3. Verify that all of the following directories (including contents), and specified individual files, have been removed --

    Example
    /Applications/iODBC
    /Applications/OpenLink*
    /Library/Application Support/iodbc
    /Library/Application Support/openlink
    /Library/Frameworks/iODBC*
    /Library/Java/Extensions/libopljodbc*.jnilib
    /Library/Java/Extensions/opljdbc*.jar
    /Library/Java/Extensions/virtjdbc*.jar
    /Library/LaunchDaemons/com.openlinksw.*
    /Library/ODBC/OpenLink*
    /Library/Receipts/iODBC*
    /Library/Receipts/Opl*
    /Library/Receipts/UDA*
    /Library/Receipts/VIRT*
    /Library/Receipts/Virt*
    /Library/StartupItems/Oplmgr
    /Users/*/Library/Preferences/com.openlinksw*
    /Users/*/Library/Saved Application State/com.openlinksw*
    /private/var/db/receipts/com.openlinksw.*

  4. You can copy and paste the following command into Terminal.app to remove all of the above --

    Shell
    sudo rm -rf /Applications/iODBC /Applications/OpenLink* "/Library/Application Support/iodbc" "/Library/Application Support/openlink" /Library/Frameworks/iODBC* /Library/LaunchDaemons/com.openlinksw.* /Library/ODBC/OpenLink* /Library/Receipts/iODBC* /Library/Receipts/Opl* /Library/Receipts/UDA* /Library/Receipts/VIRT* /Library/Receipts/Virt* /Library/StartupItems/Oplmgr /Library/Java/Extensions/libopljodbc* /Library/Java/Extensions/opljdbc* /Library/Java/Extensions/virtjdbc* /Users/*/Library/Preferences/com.openlinksw* /Users/*/Library/Saved\ Application\ State/com.openlinksw* /private/var/db/receipts/com.openlinksw.*


Unix-like OS -- AIX, HP-UX, Linux, Solaris, etc.

We do not provide an uninstall utility for Unix-like platforms. rm and rmdir should be used to remove existing deployments.

Upgrades & Pre-Existing Installations

Upgrades & Pre-Existing Installations

Performing Upgrades

Express Edition Upgrades

1. Terminate active ODBC connections.
2. Back up your license file.
3. Make sure you have the appropriate version JDK/JRE installed.
4. Perform your upgrade.


Single-Tier Upgrades

1. Terminate active ODBC connections, which use OpenLink's drivers.
2. Back up license files.
3. Back-up existing odbc.ini and openlink.ini files. (Unix Only)
4. Terminate the License Manager service if you use OpenLink 6.0 or newer drivers.
5. Proceed with the upgrade.


Multi-Tier Upgrades
1. Terminate active ODBC connections, which use OpenLink's drivers.
2. Stop your Request Broker and License Manager services. (License Managers are an OpenLink 6.0 and higher feature.)
3. Back-up your license and oplrqb.ini files.
4. Back-up odbc.ini files. (Unix Client Installs Only.)
5. Proceed with their upgrades.


BE ADVISED: Some installers present two options: 1) Upgrade Driver Name, 2) Install New Driver. The first option should overwrite older drivers. DSNs that use those drivers will be affected. They should be migrated to the new driver. However, to insure the integrity of existing DSNs, choose the second option. This option installs the new driver alongside the old driver. Pre-existing DSNs should not be affected in any way.

Upgrades & Pre-Existing Installations

Upgrades & Pre-Existing Installations

Reasons to Upgrade

Consultants should encourage end-users to upgrade to the latest software version. The latest software contains desirable new features and fixes for bugs. Additionally, support options are limited, when legacy software is involved. Development does not back-patch legacy bugs, and Support staff may have difficulties recreating legacy problems.

The following table lists new features for recent software builds:

Build Features
4.x ODBC 3.5 compliancy. Multi-Threaded client & server components. Substantially-revised communications layer.

5.x Unicode support. Zero Config. Best communications layer.

← JDBC-to-ODBC Bridge