Installing the IBM Data Server Driver for JDBC and SQLJ

After you install the IBM Data Server Driver for JDBC and SQLJ, you can prepare and run Java 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.
    • For all Db2® products except the IBM Data Server Runtime Client and the IBM Data Server Driver Package, the Db2 installation process automatically installs the SDK for Java, Version 5.
    • If you want to use JDBC 4.0 functions, you must install an SDK for Java, 6 or later.
    • If you want to use JDBC 4.1 functions, you must install an SDK for Java, 7 or later.

    • If you want to use JDBC 4.2 functions, you must install an SDK for Java, 8 or later.
    • If you want to use JDBC 4.3 functions, you must install an SDK for Java, 9 or later.
    • If you plan to run JDBC or SQLJ applications on your system, but not to prepare them, you need a Java runtime environment only.
      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 1. System i PTFs for Unicode UTF-8 support
    System i version PTF numbers
    V5R3 or later None (support is included)
  • A db2jcc_license_cisuz.jar license file, if you plan to use the IBM Data Server Driver for JDBC and SQLJ to connect to a Db2 for z/OS® or Db2 for IBM i data server.

    The db2jcc_license_cisuz.jar license file is included only with all Db2 Connect Server editions. After you obtain Db2 Connect, you need to go to Passport Advantage to download the activation key for the Db2 Connect Server edition that you own.


Restrictions

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 instance from a 32-bit Java application.

Procedure

To install the IBM Data Server Driver for JDBC and SQLJ:

  1. During the Db2 installation process, select Java support on UNIX or Linux®, or JDBC support on Windows.
    These selections are defaults. If you have already installed Db2 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:

    • 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.
      Important: Modify the CLASSPATH environment variable to include db2jcc4.jar and sqlj4.zip.

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

    • If the IBM Data Server Driver for JDBC and SQLJ client license file exists, the installation process installs the license file and modifies the CLASSPATH value to include it.
      After you download the db2jcc_license_cisuz.jar license file to your client machine, you need to add the file path and file name of the license file to the CLASSPATH value of your Db2 client application. For example, if the license file is in the path sqllib\java (on Windows systems) or sqllib/java (on UNIX or Linux systems), update the CLASSPATH value using the following syntax:
      • For Windows systems:
        set CLASSPATH=<path to sqllib>\java\db2jcc_license_cisuz.jar:%CLASSPATH% 
      • For UNIX or Linux systems:
        export CLASSPATH=<path to sqllib>/java/db2jcc_license_cisuz.jar;$CLASSPATH 
      The file is placed in the sqllib\java directory for Windows systems, or the sqllib/java directory for UNIX or Linux systems. The file name is:
      Table 2. IBM Data Server Driver for JDBC and SQLJ license file
      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, 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 must activate the server license key for Db2 Connect Unlimited Edition for System z. You must activate the license key on each z/OS subsystem or data sharing group to which you will connect. See the z/OS information for details on server license activation.
    • 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. Customize the driver-wide configuration properties, if any of the defaults are inappropriate.
  3. 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 the server and port number 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 must 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.
  4. On Db2 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.
  5. If you plan to call SQL procedures that are on Db2 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.
  6. If you plan to access Db2 for z/OS database servers with your Java applications, follow the instructions in "Special setup for accessing Db2 for z/OS servers from Java programs."