Updating JDBC drivers

IBM BPM includes Java database connectivity (JDBC) drivers for DB2, DB2 for z/OS, Oracle, and Microsoft SQL Server databases. The versions of the JDBC drivers that are included in IBM BPM are determined by the levels of the corresponding database products that were supported by the particular release of IBM BPM. You should update the JDBC drivers whenever another level of a database product is released. This will help avoid unexpected errors from failures that originate from the drivers.

About this task

For an example of an error that might occur if you are not using the latest JDBC driver for your database product, see the topic Use the JDBC driver of your database product instead of the JDBC delivered with IBM Business Process Manager (BPM).

Procedure

To update your JDBC drivers, complete the following steps:

  1. Determine the version of the JDBC drivers that are available for a specific level of your database product. For example, you can determine the version of JDBC drivers that are available for a specific level of DB2 by checking the topic DB2 JDBC driver versions and downloads.
  2. Determine the current version of your JDBC drivers in IBM BPM by running the following command (where database_product is one of DB2, Oracle, or SQL Server):
    install_root/jdbcdrivers/database_product
    For example (DB2):
    cd /opt/IBM/BPM/jdbcdrivers/DB2
    /opt/IBM/BPM/java/bin/java -cp db2jcc4.jar com.ibm.db2.jcc.DB2Jcc -version
    Note: The DB2 subdirectory is used by both DB2 and DB2 for z/OS.

    For example (Oracle):

     cd /opt/IBM/BPM/jdbcdrivers/Oracle
    /opt/IBM/BPM/java/bin/java -jar ojdbc6.jar
  3. Stop your environment by completing the following substeps:
    1. Stop the clusters.
    2. Stop all node agents in your environment.
  4. In the IBM BPM install root on the IBM BPM deployment manager and every managed node machine, create a custom directory for your JDBC drivers and copy the required JDBC drivers into it. For example, you could create the following custom directory for your DB2 JDBC drivers:
    install_root/mydb2jdbc

    The database products and corresponding JDBC drivers are shown in the following table:

    Database product JDBC driver
    DB2
    • db2jcc4.jar
    • db2jcc_license_cisuz.jar
    • db2jcc_license_cu.jar
    DB2 for z/OS
    • db2jcc4.jar
    • db2jcc_license_cisuz.jar
    • db2jcc_license_cu.jar
    Oracle
    • ojdbc6.jar or ojdbc7.jar
    SQL Server
    • sqljdbc4.jar
  5. If you are using Microsoft SQL Server, complete the following substeps to accommodate JDBC distributed transaction components and Windows authentication:
    1. Copy the sqljdbc_xa.dll file from the Microsoft JDBC driver package that you downloaded to the Binn directory of the SQL Server computer. For a default SQL Server install, the location of the Binn directory is C:/Program Files/Microsoft SQL Server/MSSQL10_50.MSSQLSERVER/MSSQL/Binn. Use the sqljdbc_xa.dll file in the x64 folder.
    2. Run the xa_install.sql database script on SQL Server. For example; from the command prompt, run sqlcmd -i xa_install.sql. This script installs the extended stored procedures that are called by sqljdbc_xa.dll. These extended stored procedures implement distributed transaction and XA support for the Microsoft SQL Server JDBC Driver. You will need to run this script as an administrator of the SQL Server instance. You can ignore errors about unable to drop procedures that don't exist.
    3. If you configured Windows authentication, copy the sqljdbc_auth.dll file from the Microsoft JDBC driver package that you downloaded to the Binn directory of the SQL Server computer. For a default SQL Server install, the location of the Binn directory is C:/Program Files/Microsoft SQL Server/MSSQL10_50.MSSQLSERVER/MSSQL/Binn. Use the sqljdbc_auth.dll file in the x64 folder.
  6. Complete the following steps to change the JDBC driver variables to point to your custom JDBC driver directory:
    1. Open the WebSphere administrative console.
    2. In the tree view, expand Environment and select WebSphere Variables. The WebSphere Variables panel opens.
    3. In the WebSphere Variables panel, locate the JDBC driver variables for your database product. The database products and corresponding JDBC driver variables are shown in the following table:
      Database product JDBC driver variable
      DB2
      • DB2_JCC_DRIVER_PATH
      • UNIVERSAL_JDBC_DRIVER_PATH
      DB2 for z/OS
      • DB2_JCC_DRIVER_PATH
      • UNIVERSAL_JDBC_DRIVER_PATH
      Oracle
      • ORACLE_JDBC_DRIVER_PATH
      SQL Server
      • MICROSOFT_JDBC_DRIVER_PATH
    4. On the scope of each node in your IBM BPM environment (including the deployment manager node), modify the JDBC driver variables to point to the custom JDBC driver directory that you created. If you created the custom directory in the IBM BPM install root, specify ${WAS_INSTALL_ROOT}. For example:
      ${WAS_INSTALL_ROOT}/mydb2jdbc
    5. When you have finished modifying the JDBC driver variables, click Apply and then click Save to save the changes to the master configuration.
  7. Stop the deployment manager.
  8. Restart your environment by completing the following substeps:
    1. Start the deployment manager.
    2. Start the node agent.
    3. Start the clusters.
  9. Verify that the updated JDBC versions have been applied. For example, to verify that the JDBC version has been updated for DB2, locate the string DSRA8203I in the SystemOut.log file, as shown in the following output:
    [3/17/14 11:57:26:122 BRT] 00000000 InternalGener I   DSRA8203I: Database product name : DB2/AIX64
    [3/17/14 11:57:26:123 BRT] 00000000 InternalGener I   DSRA8204I: Database product version : SQL09075
    [3/17/14 11:57:26:124 BRT] 00000000 InternalGener I   DSRA8205I: JDBC driver name  : IBM Data Server Driver for JDBC and SQLJ
    [3/17/14 11:57:26:124 BRT] 00000000 InternalGener I   DSRA8206I: JDBC driver version  : 4.13.80
    [3/17/14 11:57:26:124 BRT] 00000000 InternalGener I   DSRA8218I: JDBC driver specification level  : 4.0