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

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

Pre-installation Guide

Pre-Install Guide for Lite Edition ODBC Driver for JDBC Data Sources (ODBC-JDBC Bridge) on macOS

  1. 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.
  2. You must possess third-party or native JDBC drivers that connect to your target database.
  3. If your 3rd party JDBC Driver connection attempt isn't successful, check that the JDBC driver jar file (or a symbolic link to it) is included in the active $CLASSPATH.
  4. Note, supporting Java libraries (or links to them) may also need to be referenced by this variable value.
  5. Finally, directories containing other supporting libraries may need to be referenced by other shared library environment variables (e.g., LD_LIBRARY_PATH, LIBPATH, SHLIB_PATH).

Installation Guide

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

  1. Download the Lite Edition (Single-Tier) ODBC Driver for JDBC Data Sources disk image (.dmg) file.
  2. Double-click the disk image file to open it.
  3. Run the installer .mpkg file to start the installation process.
  4. After the driver is installed, you will be prompted to locate a license file.
  5. NOTE: 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.
  6. 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.
  7. 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.)
  8. 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.
  9. Click Next and continue through the dialog until Installation is complete.
  10. Click the Finish button.
To configure an ODBC DSN, follow these steps:
  1. Run the OpenLink iODBC Administrator located in the /Applications/iODBC folder.
  2. Click the System DSN tab.
  3. Click the Add button.
  4. Select the OpenLink JDBC Lite Driver from the list of available drivers.
  5. 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.
  6. Click Finish.
The Data Source tab prompts for a Data Source Name and an optional description. The Connection Tab requires the following minimum requirements 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
The Options tab displays additional parameters that can be configured for the connection, such as:
  • 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").
  • 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 checksums for each row in the current rowset and compares these with the checksums (if any) already stored in the row version cache for the same rows when fetched previously. If the checksums 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 checksums 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 checksums 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 (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 provide significant performance increases when fields in a query do not include LONG data fields.
  • Multiple Active Statements Emulation - Enables the 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.
  • Click the Finish button to save your new Data Source Name.

Data Source Name Configuration Guide

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

  1. To configure an ODBC DSN, run the OpenLink iODBC Administrator located in the /Applications/iODBC folder:
  2. Click the System DSN tab, and then click the Add button.
  3. Select the OpenLink JDBC Lite Driver from the list of available drivers.
  4. 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.
  5. Click Finish.
  6. The Data Source tab prompts a Data Source Name and optional description.
    • DSN: A brief and meaningful title for your Data Source Name
    • Description: An optional description for your Data Source Name
  7. 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
  8. 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 withthe 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").
  9. 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 checksums for each row in the current rowset and compares these with the checksums (if any) already stored in the row version cache for the same rows when fetched previously. If the checksums 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 checksums 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 checksums for each row fetched carries an overhead. If this option is enabled, the table oplrvc must have been created beforehand 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.
    • Show remarks: Affects output from the SQLColumns() ODBC API call. Use this option in conjunction with Oracle queries. When enabled, the REMARKS column of a SQLColumns() result set includes the comments from the COMMENTS column of the Oracle ALL_COL_COMMENTS data dictionary view. When disabled, the REMARKS column is empty. Disabling Show Remarks improves performance.
    • Disable autocommit: Changes the default commit behavior of the OpenLink driver. The default mode is AutoCommit (box unchecked).
    • Disable rowset size limit: Removes OpenLink's default 100 rowset restriction.
    • Defer fetching of long data: Defers fetching of LONG (BINARY, BLOB, etc.) data unless explicitly requested in a query. This provides significant performance increases when fields in the query do not include LONG data fields.
    • Always include VIEWS in table list:
    • Always include all types in table list:
    • Custom Catalogue Views: Dictates whether custom OpenLink views are used toreturn metadata for certain ODBC catalog functions: SQLForeignKeys(), SQLPrimaryKeys(), SQLProcedureColumns(), SQLProcedures(), and SQLSpecialColumns(). These custom views provide more metadata than is normally provided by the standard Oracle data dictionary views.
    • User's own tables first in SQLTables: This option is specific to OpenLink's Oracle drivers. It prompts the SQLTables() ODBC API call to display the connected user's tables first in table lists. The default ordering is alphabetical.
    • Count stored procedure parameters in SQL Procedures: This parameter is specific to the Oracle data source. It affects the output from SQLProcedures() when "Custom Catalog Views" is enabled.
  10. Click the Finish button to save your new Data Source Name.
  11. Click the Finish button to save your new Data Source Name.

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

Creating and testing data sources

Creating DSNs and trying a connection, with screenshots.

Additional Reading

Additional Reading

Create File DSNs

This format of ODBC DSN enables the creation of centralized ODBC DSNs on a designated NT or Windows 95 Server machine, thereby reducing the administrative overhead of ODBC DSN configuration for every single machine within your infrastructure.

The steps for creating an ODBC File DSN are as follows:

1. Select the File DSN Tab from the ODBC Driver Manger. Press the Add button.

Figure: 1. File Data Sources

2. Pick the ODBC Driver to be used to create your ODBC DSN, in the case of the OpenLink Universal Data Access Driver Suite 5.0, this would be the Driver identified below as "OpenLink Generic ODBC Driver".

Figure: 2. Data Source Configuration

3. Enter a name that describes your File DSN (e.g. "Sales by Region" as depicted below) for future use when interacting with it from ODBC compliant application and environments. At present to get full compatability within the Admin Assistant, you must end your dsn name with the extension ".dsn". So for this example the DSN name would be "Sales by Region.dsn".

Figure: 3. File Data Sources

4. Verify the displayed paramters are correct, and confirm by hitting Finish button.

Figure: 4. File Data Sources

5. Enter a Description and define the location of the server either by selection, or enter it manually.

Note the name is not defined here as the filename defines the DSN.

Figure: 5. File Data Sources

6. Complete the fields of the ODBC File DSN. Enter Domain, Database, Server. See above for details of each.

The File DSN must be verified immediately, so the Login ID and password are required. The Next button will be disabled until login details are provided.

Figure: 6. File Data Sources

7. Complete the fields for additional connection parameters.

Figure: 7. Data Source Configuration

8. This concludes the File DSN generation. The DSN will appear in the list under the File DSN Tab of the ODBC Driver Manger.

Figure: 8. File Data Sources

Bench Testing ODBC Drivers

Bench Testing ODBC Drivers

ODBC Bench Test is a 32 Bit C++ program based on the industry standard TPC-A benchmark (we will be extending this program to include the TPC-C and TPC-D benchmarks also). This program helps you compare the performance of Virtuoso against other backend database engines as well as compare the performance of various ODBC Drivers connecting to any ODBC compliant backend database.


1. Go to the OpenLink Data Access Drivers "Start Menu" item, then click on the "ODBC Bench Test 32 Bit" menu item. You will be presented with the "Bench Test" interface.

Figure: 1

2. Follow the File->Connect menu path which initializes the ODBC Driver Manager, which in turn presents you with a list of ODBC DSNs installed on your machine. Select the DSN that you want to benchmark, remember that by benchmarking a DSN you are benchmarking the ODBC Driver that serves the DSN in question and the backend database engine that serves the ODBC Driver. Choose the name of the datasource you want to benchmark.

Figure: 2

3. You will then be presented with a Login Dialog by the OpenLink Generic Driver for ODBC, enter a valid user name and password into the appropriate fields.

Figure: 3

4. Now follow the Bench-->Load Tables menu path and you will be presented with a dialog that enables you to configure key elements of your benchmark. Click the "Execute" button to commence the process of setting up your database for the benchmark tests. Please make sure you select the appropriate schema for the DBMS that you are connecting to so that the benchmark tables are created properly.

Figure: 4

5. As the process of loading data occurs, all the way up to completion, the benchmark program will provide status information into the benchmark output pane as shown below:

Figure: 5

6. Now that all the benchmark data has been loaded into your database, follow the Bench-->Run Benchmark menu path and then configure your actual benchmark session parameters:

These benchmark parameters fall into 3 categories, Timing Options, SQL Options, and Execution Options.

Figure: 6

Timing Options:

These setting allow you to configure the duration related aspects of this benchmark program

Minutes

this is the duration of each benchmark run

Runs

this controls how many iterations of the benchmarks you actually run (the default is one benchmark iteration with a duration of 5 minutes)

SQL Options:

These settings allow you to configure how your benchmark's SQL instructions are actually handled.

ExecDirect with SQL Text

this means that no form of repetitive SQL execution optimization is being applied (SQL statements are prepared and executed repetitively)

Prepare/Execute Bound Params

this means that the Parameter Binding SQL execution optimization is being applied (SQL is prepared once but executed many times without the overhead of re-preparing statements prior to execution)

Use Stored Procedures

this means that the Stored Procedure SQL optimization is being applied (benchmark instructions are stored within database being benchmarked)

Execution Options:

These settings allow you to configure the tone of your benchmark, for instance it could have Transaction scoping and a mix of record retrieval queries, or it could simply be input and update intensive with a minimal amount of record retrieval queries (the case when the 100 row query checkbox is unchecked a typical OLTP scenario)

Asynchronous

execute the benchmark instructions asynchronously

Use Transactions

make the benchmark use transaction control (instructions are scoped to transaction blocks)

Do 100 row Query

perform a simulation of a 100 record retrieval as part of the benchmark activity.

7. Click on the "Run All" button if you would like all the different benchmark type combinations to be performed.

8. When benchmark run complete benchmark data is written to the benchmark program's output pane.

Figure: 7



The key pieces of benchmark data that you need to look out for are:

Total Transactions

total number of transactions completed during the benchmark run

Transactions Per Second

number of transaction completed per second for the benchmark run

Information from this benchmark is automatically written to an Excel format CSV (the file c:\odbcbnch.csv) which makes it easy for you to graph and pivot data collated from several benchmark runs. A later version of this demo will actually write the benchmark data into an ODBC DSN that you provide thereby offering even more flexibility and accessibility to benchmark data.

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.

← ODBC-to-JDBC Bridge