%META:TOPICPARENT{name="MultiTierInstallClientQuickstartUnix"}% = 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. == Prerequisites == * 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. == Installation == # Log onto the machine and create a suitable installation directory, which we'll refer to as {{{}}}. For instance, {{{/opt/openlink/}}}. # Copy all relevant components and/or archives to {{{}}}. At bare minimum, this will be an Enterprise Edition Generic Client JDBC Driver {{{.jar}}} file appropriate to your JVM. # 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 }}} # The installation should finish without error. == Configuration == There is no additional configuration required, since the driver is nothing more than a {{{.jar}}} file. == Usage == 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 -- | Java %BR% Version(s) | Compatible %BR% JVM/JRE/JDK | JDBC %BR% Version | 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 [[JDBC1ConnectionURLFormat| Type 1 JDBC]] Drivers have the following attributes -- | Java %BR% Version | Compatible %BR% JVM/JRE/JDK | JDBC %BR% Version | 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|example]]. {{{ jdbc:openlink://[:portnumber] [/DSN=] [/UID=] [/PWD=] [/READONLY=] [/FBS=] [/JDBCAGENT=] [/SVT=] [/DATABASE=] [/OPTIONS=] [/DRIVER=] [/SSL=] }}} 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. [[MTServerConfigConnectOptions|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. [[SecureJDBCType3wSSL|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 {{{ jdbc:openlink://request_broker_hostname:port/SVT=DB2/Database=database/UID=db2inst1/PWD=********** }}} * 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=********** }}}