Troubleshooting
Problem
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.
To summarise:
In addition, there are different versions of the same file name. For example:
It is therefore important to obtain/use both the correct file name (filename) and version (date/size).
- 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.
- TIP: If you are using Microsoft SQL (or DB2) then see separate Technote #301623.
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>
"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"
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
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'.
If using Oracle 12C R1 as your database server:
Use the ojdbc7.jar file (which comes from the Oracle 12C client).
- 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).
NOTE: If you choose to use ojdbc7.jar then you must make a change to the file 'ccr-system-properties.properties'
- Specifically, you need to add the following line: oracle.jdbc.autoCommitSpecCompliant=false
- For more details, see separate IBM Technote #2000945.
=================================================
IMPORTANT:
If you choose to use the JAR files from unpatched Oracle client installations, then they can contain bugs/limitations.
- For example, the default/unpatched OJDBC6.JAR is incompatible with TLS 1.2
Therefore the author recommends that you download updated (patched) versions of the above files, which are downloadable from Oracle.
- For example, see link below.
Related Information
[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS9S6B","label":"IBM Cognos Controller"},"ARM Category":[{"code":"a8m0z0000000AxnAAE","label":"Documentation"}],"ARM Case Number":"","Platform":[{"code":"PF033","label":"Windows"}],"Version":"All Version(s)"}]
Was this topic helpful?
Document Information
Modified date:
27 August 2020
UID
swg21988891