IBM Support

What is the correct / best OJDBC JAR file to use with Cognos Controller?

Technote (troubleshooting)


Problem(Abstract)

There are many different types of Oracle JAR file, for example:
- OJDBC14.JAR
- OJDBC5.JAR
- OJDBC6.JAR
- OJDBC7.JAR

What is the best/correct file to use with my Controller system?

Cause

Controller requires a Java Database Connectivity file (also known as a 'JDBC Thin Driver') to connect its several JAVA components with the database server.

  • Oracle have produced many different versions of their JDBC thin driver.
  • The number refers to the version of JDK/JRE that they were compiled with/for (strictly speaking, not the version of the file!).
    • For example OJDBC14 is compiled with JDK 1.4
    • Therefore OJDBC14.JAR files are generally older than OJDBC5.JAR files (which were compiled for JDK 5).

To summarise:
Name
JRE version
Easy location to obtain from
Alternative source location
ojdbc14.jar
1.4
Legacy (historic) - not supported by Oracle
n/a
ojdbc5.jar
5
Oracle 11G rel2 client
Download from oracle.com
ojdbc6.jar
6
Oracle 11G rel2 or 12C client
Download from oracle.com
ojdbc7.jar
7
Oracle 12C client
Download from oracle.com


In addition, there are different versions of the same file name. For example:
Name
Source
Size
Version (date modified)
Details
ojdbc6.jar
Oracle 11G rel2 client
3,692,104 bytes
23/02/2010 21:09
Oracle 11.2.0.1.0 JDBC 4.0 compiled with JDK6
ojdbc6.jar
Oracle 12C client
2,111,338 bytes
29/08/2014 05:14
Oracle 12.1.0.2.0 JDBC 4.0 compiled with JDK6 on Thu_Aug_28_19:10:23_PDT_2014

It is therefore important to obtain/use both the correct file name (filename) and version (date/size).

Environment

Customer is hosting their Controller databases on an Oracle database server.

Diagnosing the problem

To find out the exact version of the JAR file (see above inside 'Details' column), run a command similar to the following: java -jar <filename>

Example:

Imagine a scenario where you have a Controller 10.2.1 application server with:

  • Controller client installed in default location
  • Oracle 11G rel2 client installed in default location

The command is:
"C:\Program Files (x86)\IBM\IBM Cognos Controller\Integration\jre\bin\java" -jar "C:\app\Administrator\product\11.2.0\client_1\jdbc\lib\ojdbc6.jar"


Resolving the problem

Different versions of Controller support different versions of Oracle

  • At the time of writing (August 2016), the current latest version of Controller (10.2.1 FP4) supports Oracle 11G R1, Oracle 11G R2 and Oracle 12C R1.

Because of a high amount of compatibility (between different JAR files) it is likely that Controller would work OK with many different OJDBC files.

However, based on customer feedback, IBM Support recommends the following as a basic guideline:

=================================================
If using Oracle 11G R2 as your database server:
Use the ojdbc5.jar file (which comes from the Oracle 11G Rel2 client), because this is the version that is most tested 'in the field'.
  • TIP: Assuming you have installed the Oracle 11G rel2 client in the default location, then you can find this (on the Controller application server) here: C:\app\Administrator\product\11.2.0\client_1\jdbc\lib
  • If any errors/problems arise when using this file, then use ojdbc6.jar (which also comes from the Oracle 11G Rel2 client) instead.

If using Oracle 12C R1 as your database server:
Use the ojdbc7.jar file (which comes from the Oracle 12C client).
=================================================

In addition, there are updated (patched) versions of the above files, which are downloadable from Oracle.
  • For example, see link below.

Related information

Third Party (Oracle) - Oracle JDBC FAQ
Third Party (Oracle) - Oracle Database 11g Release 2 JD

Document information

More support for: Cognos Controller
Controller

Software version: 10.2.1

Operating system(s): Windows

Reference #: 1988891

Modified date: 08 December 2016


Translate this page: