IBM Support

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

Question & Answer


Question

There are many different types of SQL JDBC JAR file, for example:
  • sqljdbc4.jar
  • sqljdbc42.jar
  • mssql-jdbc-7.0.0.jre8.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 Driver') to connect its several JAVA components with the database server.
  • Microsoft have produced many different versions of their JDBC driver, so it can be confusing to understand which versions are supported, and which one is most recommended.

Answer

Q1 - What Microsoft JAR files are compatible with Controller?
Different versions of Controller support different versions of Microsoft SQL, and utilise different versions of JAVA.
  • At the time of writing (December 2019), the current latest version of Controller is 10.4.1
  • This should work with any JRE (Java Runtime Environment) 8.0 driver (for example, the 7.0.0.jre8 version, which is the filename mssql-jdbc-7.0.0.jre8.jar)
Q2 - Which Microsoft JAR files have been officially tested by IBM?
It is impossible for IBM to test all the Microsoft JAR files.
  • Therefore, only a limited number (for example mssql-jdbc-7.0.0.jre8.jar) have been tested.
IBM assume that later versions of the relevant JRE versions (for example a later JRE 8.0 driver) will work (in the same way as older versions do) since Microsoft usually offers backward compatibility.
Q3 - Where can I download the relevant Microsoft JAR file?
The JAR file comes as part of a larger package (called the 'JDBC driver'). Therfore you must download the JDBC driver which contains the JAR file that you want.
  • At the time of writing (December 2019) the relevant Microsoft download page was entitled 'Download Microsoft JDBC Driver for SQL Server' (link below).
Q4 - How do I know which package to download?
As an example, let us imagine you want to download the '7.0.0.jre8' version of the JAR file.
  • This is contains inside the JDBC driver 'Microsoft JDBC Driver 7.0'.
 Therefore steps are:
1. Go to the Microsoft 'Download Microsoft JDBC Driver for SQL Server' website
2. Click on the link 'Microsoft JDBC Driver 7.0'
3. Download the relevant file:    sqljdbc_7.0.0.0_enu.tar.gz
4. Extract this file
5. Navigate to the subfolder:   sqljdbc_7.0\enu\
6. The relevant JAR file is:     mssql-jdbc-7.0.0.jre8.jar
Q5 - There are multiple files in my package. Do I copy both onto the Controller application server?
Absolutely not.
For example, inside 'sqljdbc_7.0.0.0_enu.tar.gz' there are both the following JAR files:
  • mssql-jdbc-7.0.0.jre8.jar
  • mssql-jdbc-7.0.0.jre10.jar
Copy only ONE of them (mssql-jdbc-7.0.0.jre8.jar) onto the Controller application server
  • If you copy more than one JAR file (into the relevant Controller server folder) then Controller will not know which one to use. This causes issues/errors.
Q6 - I notice that there are already 2 JAR files ("db2jcc.jar" and "sqljdbc4.jar") installed as part of Controller server. Can I re-use these?
No.
By default, modern versions of Controller copy the following JAR files into this location: C:\Program Files\ibm\cognos\ccr_64\fcmweb\wlp\usr\shared\resources\JDBCDriver
  • db2jcc.jar
  • sqljdbc4.jar
These are special 'customised' versions of the JAR files, which are designed to increase performance for Controller Web.
- Therefore these should NOT be copied to other folders (on the Controller application server) to be used for non-Controller-Web purposes.

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS9S6B","label":"IBM Cognos Controller"},"Component":"","Platform":[{"code":"PF033","label":"Windows"}],"Version":"10.4.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
24 April 2020

UID

ibm11135510