Installing the IBM Data Server Driver for JDBC and SQLJ on Db2 on Linux, UNIX, and Windows systems

After you install the IBM® Data Server Driver for JDBC and SQLJ, you can prepare and run JDBC or SQLJ applications.

Before you begin

Before you install the IBM Data Server Driver for JDBC and SQLJ, you need the following software.
  • An SDK for Java™, 1.4.2 or later. Choose an SDK for Java version that supports all the JDBC functions that you plan to use. The following table lists each level of JDBC functions and the minimum SDK for Java version that supports each JDBC level.
    Table 1. JDBC function support and minimum SDK for Java version that provides that support
    Supported JDBC functions Minimum SDK for Java version
    JDBC 3.0 1.4.2, 5.0
    JDBC 4.0 6
    JDBC 4.1 7
    JDBC 4.2 8
    JDBC 4.3 9

    For all Db2 products except the IBM Data Server Runtime Client and the IBM Data Server Driver Package, the Db2 on Linux, UNIX, and Windows systems installation process automatically installs the SDK for Java, Version 5.

    Important: Support for the SDK for Java 1.4.2 is deprecated for Java routines, and might be discontinued in a future release.
  • JVM native threads support

    Any JVMs that run Java applications that access Db2 databases must include native threads support. You can specify native threads as the default thread support for some JVMs by setting the THREADS_FLAG environment variable to "native". Refer to the documentation for your Java environment for instructions on making native threads the default on your system.

  • Unicode support for System i® servers
    If any SQLJ or JDBC programs will use IBM Data Server Driver for JDBC and SQLJ type 4 connectivity to connect to a Db2 for IBM i server, the System i operating system must support the Unicode UTF-8 encoding scheme. The following table lists the System i PTFs that you need for Unicode UTF-8 support:
    Table 2. System i PTFs for Unicode UTF-8 support
    System i version PTF numbers
    V5R3 or later None (support is included)

About this task

Restriction: If you install the IBM Data Server Driver for JDBC and SQLJ on a Windows 64-bit operating system, you cannot use IBM Data Server Driver for JDBC and SQLJ type 2 connectivity to connect to a Db2 on Linux, UNIX, and Windows systems instance from a 32-bit Java application.

Follow these steps to install the IBM Data Server Driver for JDBC and SQLJ.

Procedure

  1. During the Db2 on Linux, UNIX, and Windows systems installation process, select Java support on UNIX or Linux, or JDBC support on Windows.
    These selections are defaults. If you have already installed Db2 on Linux, UNIX, and Windows systems without JDBC support, you can run the installation process in Custom mode to add JDBC support.

    Selection of Java support or JDBC support causes the installation process to perform the following actions:

    1. Installs the IBM Data Server Driver for JDBC and SQLJ class files.

      The files are placed in the sqllib\java directory for Windows systems, or the sqllib/java directory for UNIX or Linux systems.

      The file names are:
      db2jcc4.jar
      db2jcc4.jar includes JDBC 4.0 or later functions, and JDBC 3.0 or earlier functions.
      sqlj4.zip

      sqlj4.zip supports SQLJ applications that include JDBC 4.0 or later functions, and JDBC 3.0 or earlier functions.

      Important: You need to modify the CLASSPATH variable to include the db2jcc4.jar file and the sqlj4.zip file. If the CLASSPATH variable already includes the unsupported db2jcc.jar or sqlj.zip files, remove them.

      You also need to make this change in every Db2 command line window that you open.

    2. If IBM Data Server Driver for JDBC and SQLJ client license file exists, the installation process installs them and modifies the CLASSPATH variable to include them.

      The files are placed in the sqllib\java directory for Windows systems, or the sqllib/java directory for UNIX or Linux systems.

      If you downloaded the db2jcc_license_cisuz.jar file from Passport Advantage®, you need to update the CLASSPATH variable to include the path to the license file and the license file name. For example:

      • For Windows systems: Suppose that the license file is in relative path sqllib\java. Update the CLASSPATH variable as follows:
        set CLASSPATH=path to sqllib\java\db2jcc_license_cisuz.jar:%CLASSPATH%
      • For Linux or UNIX systems: Suppose that the license file is in relative path sqllib/java. Update the CLASSPATH variable as follows:
        export CLASSPATH=path to sqllib/java/db2jcc_license_cisuz.jar;$CLASSPATH
      The file names are:
      Table 3. IBM Data Server Driver for JDBC and SQLJ license files
      License file Server to which license file permits a connection Product that includes license file
      db2jcc_license_cisuz.jar
      • Db2 for z/OS®
      • Db2 for IBM i
      All Db2 Connect products

      Client license files are not required for connections to Db2 on Linux, UNIX, and Windows systems, Cloudscape, or IBM Informix® databases from the IBM Data Server Driver for JDBC and SQLJ version 3.50 or later. Client license files are not required for direct connections to Db2 for z/OS if Db2 Connect Unlimited Edition for System z® server license activation is performed.

      Recommendation: If you connect to Db2 for z/OS data servers directly, rather than through a Db2 Connect gateway, and you use Db2 Connect Unlimited Edition for System z 9.7 Fix Pack 3 or later, you should activate the server license key for Db2 Connect Unlimited Edition for System z. You need to activate the license key on each z/OS subsystem or data sharing group to which you will connect. To activate the server license key, you need to run the db2connectactivate utility, which installs the SYSIBM.DB2CON_LIC stored procedure on the z/OS data server. See Activating the license key for Db2 Connect Unlimited Edition (IBM Z) for details on server license activation.
    3. Installs IBM Data Server Driver for JDBC and SQLJ native libraries for support of IBM Data Server Driver for JDBC and SQLJ type 2 connectivity.

      The files are placed in the sqllib\bin directory for Windows systems, or the sqllib/lib directory for UNIX or Linux systems.

      The file names are:
      libdb2jcct2.so
      For AIX® and Linux
      db2jcct2.dll
      For Windows
  2. After you have completed step 1, you can download and install the latest versions of the IBM Data Server Driver for JDBC and SQLJ class files by following these steps.
    1. Go to http://www.ibm.com/software/data/support/data-server-clients/download.html.
    2. Under Downloads and fixes, select View IBM Data Server Client Packages…
    3. In the Refine my fix list window, select Show me more options.
    4. On the Fix Central page, select Information Management in the Product Group field, IBM Data Server Client Packages in the Product field, the latest version in the Installed Version field, and All in the Platform field.
    5. On the Identify fixes page, type "Data Server Driver for JDBC" in the Text field.
    6. On the Select fixes page, select the latest version of the IBM Data Server Driver for JDBC and SQLJ.
    7. On the Download options page, select the options that are appropriate for you.
    8. Download the zip file.
    9. Extract the zip file into an empty directory.

      The zip file contains the following files:

      • db2jcc4.jar
      • sqlj4.zip
    10. Copy the files to the locations that are specified in step 1.a above.
    11. Modify the CLASSPATH variable to include the IBM Data Server Driver for JDBC and SQLJ class files. If the CLASSPATH variable already includes the unsupported db2jcc.jar or sqlj.zip files, remove them.
  3. Customize the driver-wide configuration properties, if any of the defaults are inappropriate.
  4. Configure TCP/IP.
    Servers must be configured for TCP/IP communication in the following cases:
    • JDBC or SQLJ applications that use IBM Data Server Driver for JDBC and SQLJ type 4 connectivity.
    • JDBC or SQLJ applications that use IBM Data Server Driver for JDBC and SQLJ type 2 connectivity, and specify server and port in the connection URL.

    Ensure that the TCP/IP listener is running. To activate the TCP/IP listener:

    1. Set the environment variable DB2COMM to TCPIP:
         db2set DB2COMM=TCPIP
    2. Update the database manager configuration file with the TCP/IP service name as specified in the services file:
         db2 update dbm cfg using SVCENAME TCP/IP-service-name
      The port number used for applets and SQLJ programs needs to be the same as the TCP/IP SVCENAME number used in the database manager configuration file.
    3. Execute the db2stop and db2start commands for the service name setting to take effect.
  5. On Db2 on Linux, UNIX, and Windows systems servers on which you plan to run Java stored procedures or user-defined functions, update the database manager configuration to include the path where the SDK for Java is located.

    You can do this by entering commands similar to these on the server command line:

    • For database systems on UNIX or Linux:
      db2 update dbm cfg using JDK_PATH /home/db2inst/jdk15
      /home/db2inst/jdk15 is the path where the SDK for Java is installed.
    • For database systems on Windows:
      db2 update dbm cfg using JDK_PATH c:\Program Files\jdk15
      c:\Program Files\jdk15 is the path where the SDK for Java is installed.
    To verify the correct value for the JDK_PATH field in the Db2 database manager configuration, enter the following command on the database server:
    db2 get dbm cfg
    You might want to redirect the output to a file for easier viewing. The JDK_PATH field appears near the beginning of the output.
  6. If you plan to call SQL procedures that are on Db2 on Linux, UNIX, and Windows systems servers from Java programs, and the date and time format that is associated with the territory code of the database servers is not the USA format, take the following actions:
    1. Set the DB2_SQLROUTINE_PREPOPTS registry variable on the database servers to indicate that the default datetime format is ISO:
         db2set DB2_SQLROUTINE_PREPOPTS="DATETIME ISO"
      
    2. Redefine any existing SQL procedures that you plan to call from Java programs.
    These steps are necessary to ensure that the calling application receives date and time values correctly.
  7. If you plan to access Db2 for z/OS data servers with your Java applications, follow the instructions in "Special setup for accessing Db2 for z/OS servers from Java programs."