Quickstart Guide for the Enterprise Edition (Multi-Tier) Generic Client JDBC Driver for Unix-like OS

Aims and Intentions

This guide is intended to enable competent system administrators to install and configure OpenLink Multi-tier JDBC client side components on *nix style operating systems in a few steps as possible.

This guide does not explain any of the non-pertinent features encountered along the way. Such explanations may be found in the full documentation.


  • You MUST be proficient in using a Unix shell.
  • You MUST be proficient in using a Unix editor such as vi
  • You MUST be in possession of relevant database connectivity details such as Database name, Username, password, etc.
  • You MUST have an Enterprise Edition Request Broker (oplrqb) and the relevant Database or Bridge Agent installed before attempting to utilize this Enterprise Edition JDBC client driver.


  1. Log onto the machine and create a suitable installation directory, which we'll refer to as <OPENLINK_INSTALL>. For instance, /opt/openlink/.
  2. Copy all relevant components and/or archives to <OPENLINK_INSTALL>. At bare minimum, this will be an Enterprise Edition Generic Client JDBC Driver .jar file appropriate to your JVM.
  3. If you're doing a more complete install, which may include sample applications and/or applets, install by running the install.sh shell script --

    sh install.sh

  4. The installation should finish without error.


There is no additional configuration required, since the driver is nothing more than a .jar file.


A Type 3 JDBC Driver connects a pure JDBC client environment to non- or partially-Java environments, such as our Enterprise Edition (Multi-Tier) server components (Request Broker and target-specific Database or Bridge Agents).

Note: You should generally have only one of the following in your CLASSPATH environment variable. If you have multiple jars which use the same Classname, only the first found by the JVM (typically the first in your CLASSPATH) will be active. Choose the one best matched to your active JVM and to whether you will only need Type 3, or a combination of Type 1 and Type 3, connections.

Our pure Type 3 JDBC Drivers have the following attributes --

Filename Classname
Java 8 1.8.x JDBC 4.2 megathin4_2.jar openlink.jdbc4.Driver
Java 7 1.7.x JDBC 4.1 megathin4_1.jar openlink.jdbc4.Driver
Java 6 1.6.x JDBC 4 megathin4.jar openlink.jdbc4.Driver
Java 4 and 5 1.4.x and 1.5.x JDBC 3 megathin3.jar openlink.jdbc3.Driver
Java 2 and 3 1.2.x and 1.3.x JDBC 2 megathin2.jar openlink.jdbc2.Driver
Java 1 1.1.x JDBC 1 megathin.jar openlink.jdbc.Driver

Our hybrid Type 3 and Type 1 JDBC Drivers have the following attributes --

Filename Classname
Java 8 1.8.x JDBC 4.2 opljdbc4_2.jar openlink.jdbc4.Driver
Java 7 1.7.x JDBC 4.1 opljdbc4_1.jar openlink.jdbc4.Driver
Java 6 1.6.x JDBC 4 opljdbc4.jar openlink.jdbc4.Driver
Java 4 and 5 1.4.x and 1.5.x JDBC 3 opljdbc3.jar openlink.jdbc3.Driver
Java 2 and 3 1.2.x and 1.3.x JDBC 2 opljdbc2.jar openlink.jdbc2.Driver
Java 1 1.1.x JDBC 1 opljdbc.jar openlink.jdbc.Driver

Type 3 JDBC URL Syntax

Our Type 3 JDBC URL sytax is as shown below. Spaces between arguments are here only for clarity; they should be omitted for actual use, as in the example.

jdbc:openlink://<Hostname>[:portnumber] [/DSN=<dsn>] [/UID=<uid>] [/PWD=<pwd>] [/READONLY=<y>] 
              [/FBS=<x>] [/JDBCAGENT=<AgentType>] [/SVT=<ServerType>] [/DATABASE=<Schema>] 
              [/OPTIONS=<AgentOptions>] [/DRIVER=<RemoteOdbcDriver>] [/SSL=<y>]

Note: JDBC URL escape characters '{' and '}' should be used when parameters in the JDBC URL contain any JDBC URL reserved characters, such as '/'.

Typical examples are

  • Ingres or Progress database paths: {/path/to/database/demo}
  • Oracle Instant Client connection strings: {//oracle_hostname:port/TNSNAME}

Type 3 JDBC URL Attributes

  • Hostname -- Network Alias or IP address of server machine running an OpenLink Request Broker instance
  • Port Number -- Port number that identifies location of OpenLink JDBC Agent Service; the default value is 5000
  • /DSN -- ODBC Data Source Name from which the JDBC driver should automatically derive JDBC URL values; does not imply connection via ODBC
  • /UID -- Username
  • /PWD -- Password
  • /READONLY -- Determines session mode — read-write (=N) or read-only (=Y).
  • /SVT -- Determines OpenLink Database Agent type (Oracle, Informix, Sybase, Progress, Ingres, Microsoft SQL Server, MySQL, PostgreSQL, etc.)
  • /OPTIONS -- Values used to connect to OpenLink Database Agents to remote database servers using database vendors networking. See additional information.
  • /DATABASE -- Actual database/schema name within a particular database environment; not relevant to all connections.
  • /DRIVER -- Only used when making a DSN-Less connection to a remote ODBC Driver.
  • /FBS -- Sets number of JDBC resultset rows that get packed together for transmission from the Database Agent to the Client Driver
  • /SSL -- Specifies use of SSL to secure the connection. See additional information.
  • /JDBCAGENT -- Only applicable to Release 3.x and older; not used with Release 4.x or later. Specifies a particular handler for the client request rather than letting the Broker decide (separate handlers exist for ODBC and UDBC Generic Clients).

Sample Type 3 JDBC URLs

  • DB2


  • Informix 2000

    jdbc:openlink://request_broker_hostname:port/SVT=Informix 2000/Database=database/UID=informix/PWD=**********

  • Informix 10

    jdbc:openlink://request_broker_hostname:port/SVT=Informix 10/Database=database/UID=informix/PWD=**********

  • Ingres II

    jdbc:openlink://request_broker_hostname:port/SVT=Ingres II/Database=database/UID=ingres/PWD=**********

  • MySQL 3

    jdbc:openlink://request_broker_hostname:port/SVT=MySQL 3.x/Options=-H mysql_hostname -P port/Database=database/UID=root/PWD=**********

  • MySQL 4

    jdbc:openlink://request_broker_hostname:port/SVT=MySQL 4.x/Options=-H mysql_hostname -P port/Database=database/UID=root/PWD=**********

  • MySQL 5

    jdbc:openlink://request_broker_hostname:port/SVT=MySQL 5.x/Options=-H mysql_hostname -P port/Database=database/UID=root/PWD=**********

  • Oracle 9

    jdbc:openlink://request_broker_hostname:port/SVT=Oracle 9.x/Options=TNSNAME/UID=oracle/PWD=**********

  • Oracle 10g (using locally defined TNSName)

    jdbc:openlink://request_broker_hostname:port/SVT=Oracle 10.x/Options=TNSNAME/UID=oracle/PWD=**********

  • Oracle 10 (using Instant Client Connect String)

    jdbc:openlink://request_broker_hostname:port/SVT=Oracle 10.x/Options={//oracle_hostname:port/TNSNAME}/UID=oracle/PWD=**********

  • PostgreSQL

    jdbc:openlink://request_broker_hostname:port/SVT=Postgres/Options=-H postgres_hostname -P port/Database=database/UID=postgres/PWD=**********

  • Progress 9.1E (SQL-89)

    jdbc:openlink://request_broker_hostname:port/SVT=Progress 91E/Options=-H progress_hostname -S servicename -N tcp/Database=database/UID=progress/PWD=**********

  • Progress 9.1E (SQL-92)

    jdbc:openlink://request_broker_hostname:port/SVT=Progress 91SQL/Options=-H progress_hostname -S servicename -N tcp/Database=database/UID=progress/PWD=**********

  • Progress OpenEdge 10 (SQL-92)

    jdbc:openlink://request_broker_hostname:port/SVT=Progress 100SQL/Options=-H progress_hostname -S servicename -N tcp/Database=database/UID=progress/PWD=**********

  • SQL Server 2000

    jdbc:openlink://request_broker_hostname:port/SVT=SQLServer 2000/Options=-H sqlserver_hostname -P port/Database=database/UID=sa/PWD=**********

  • SQL Server 2005

    jdbc:openlink://request_broker_hostname:port/SVT=SQLServer 2005/Options=-H sqlserver_hostname -P port/Database=database/UID=sa/PWD=**********

  • Sybase 11

    jdbc:openlink://request_broker_hostname:port/SVT=Sybase 11/Options=-H sybase_hostname -P port/Database=database/UID=sa/PWD=**********

  • Sybase 12

    jdbc:openlink://request_broker_hostname:port/SVT=Sybase 12/Options=-H sybase_hostname -P port/Database=database/UID=sa/PWD=**********

Referenced by...