Configuring JDBC drivers

IBM® Business Process Manager (BPM) includes Java database connectivity (JDBC) drivers for DB2 databases. The versions of the DB2 JDBC drivers that are included 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, to avoid unexpected errors from failures that originate from the drivers. If you are using Oracle or SQL Server databases, you must configure your own JDBC drivers.

For the product data sources, IBM BPM requires type 4 JDBC drivers provided by your database vendor for your specific database version. It is a good idea to use a custom path for your JDBC drivers, even if you are using DB2.

Procedure

To configure or 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. If you already have JDBC drivers installed, 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/my_jdbc_directory/database_product
    For example (DB2):For Linux operating systemFor UNIX operating system
    cd /opt/IBM/BPM/jdbcdrivers/DB2
    /opt/IBM/BPM/java/bin/java -cp db2jcc4.jar com.ibm.db2.jcc.DB2Jcc -version
    For Windows operating system
    cd C:\IBM\BPM\jdbcdrivers\DB2
    C:\IBM\BPM\java\bin\java -cp db2jcc4.jar com.ibm.db2.jcc.DB2Jcc -version

    For example (Oracle):

    For Linux operating systemFor UNIX operating system
    cd /opt/IBM/BPM/myOraclejdbc/
    /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.
    3. Stop the deployment manager.
  4. In the IBM BPM installation 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 IBM BPM version 8.6.0 cumulative fix 2017.12or ojdbc8.jar

      IBM BPM version 8.6.0 cumulative fix 2017.12Before you can use ojdbc8.jar, you must apply the WebSphere® Application Server 8.5.5.12 interim fix PI86830.

    SQL Server
    • IBM BPM version 8.6.0 cumulative fix 2018.03sqljdbc42.jar

      IBM BPM V8.6.0 (2017.09) and later releases only support the sqljdbc42.jar driver.

      Note: Before you can use the sqljdbc42.jar driver with IBM BPM V8.6.0 (2017.09) or IBM BPM V8.6.0 cumulative fix (CF) 2017.12, you must apply IBM BPM interim fix JR59388.
  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. Change the JDBC driver variables to point to your custom JDBC driver directory. In a network deployment environment, run this command to update the deployment manager and run it again for each managed node. In a stand-alone environment, update the path on the server.
    BPMConfig -update -profile profile_name -node node_name -jdbcDriverPath jdbc_driver_path
    where:
    • profile_name is the name of the deployment manager profile
    • node_name is the name of the deployment manager node or managed node that you are setting the JDBC driver path for
    • jdbc_driver_path is the directory containing the JDBC drivers
    For example, the following commands update the JDBC driver path for the deployment manager and two managed nodes.
    BPMConfig -update -profile Dmgr01 -node Dmgr01 -jdbcDriverPath ${WAS_INSTALL_ROOT}\myOraclejdbc\
    BPMConfig -update -profile Dmgr01 -node Node01 -jdbcDriverPath ${WAS_INSTALL_ROOT}\myOraclejdbc\
    BPMConfig -update -profile Dmgr01 -node Node02 -jdbcDriverPath /opt/myOraclejdbc/
  7. Restart your environment by completing the following substeps:
    1. Start the deployment manager.
    2. Start the node agent.
    3. Start the clusters.
  8. 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