I am doing an upgrade from UCCX 7.0.2 to 9.0.1.
The UCCX 7.0.2 has an ODBC driver connection to an IBM iSeries DB server using an iSeries driver. I need to replicate this connection on UCCX 9.0.
On UCCX 9.0 I only have the ability to use a few type of drivers, JDBC DB2 driver being one of them. I have tried using the following drivers:
I have also loaded the customer supplied db2jcc_license_cu.jar
Both of the drivers load successfully under the com.ibm.db2.jcc.DB2Driver class, but when I try to make a Database Source connection within UCCX the test connection always fails. I have created a new DB account so I have verified that the username and password are correct.
I have tried these different formats when creating the Database Source. I don't know what port number I should be using. I saw 50000 mentioned in a few forums.
No matter the syntax the Test Connection always fails.
well, I ain't no IBM expert, but as far as I know DB2 for Windows and Linux is quite different from DB2 running on i. The JDBC DB2 driver might be good for the Windows+Linux version, but not for the other version.
We recently took a customer from CCX 7.x (Windows based) to 9.x (Cisco UCOS based) and ran into this issue.
Connecting via JDBC to an iSeries DB2 database
description: Getting an error when trying to add an iSeries DB2 DataSource to the CCX server. Adding the Datasource fails. In the CCX Engine logs, you see something similar to the following:
[SQLException@185bf33] Message = [jcc][t4][4.16.53] Connection to the data server failed. The IBM Data Server for JDBC and SQLJ license was invalid
%MIVR-LIB_JDBC-7-UNK:or was not activated for the DB2 for z/OS subsystem. If you are connecting directly to
%MIVR-LIB_JDBC-7-UNK:the data server and using DB2 Connect Unlimited Edition for System z, perform the
%MIVR-LIB_JDBC-7-UNK:activation step by running the activation program in the license activation kit.
%MIVR-LIB_JDBC-7-UNK:If you are using any other edition of DB2 Connect, obtain the license file,
%MIVR-LIB_JDBC-7-UNK:db2jcc_license_cisuz.jar, from the license activation kit, and follow the installation
%MIVR-LIB_JDBC-7-UNK:directions to include the license file in the class path. ERRORCODE=-4230, SQLSTATE=42968
1) The customer provided the db2jcc_license_cisuz.jar file, part of the “DB2 Connect” file set, which they purchased from IBM.
2) I installed the Java SE JDK version 8_20 (not sure that the JDK version actually matters except later when I set my PATH).
3) I copied the db2jcc4.jar file from the 10.5 driver and the db2jcc_license_cisuz.jar file from the provided DB2 Connect file set to the root of my c: drive.
4) I ran the following commands in Windows Command Prompt to combine the jar files into a single file:
jar -xf ../db2jcc4.jar
jar -xf ../db2jcc_license_cisuz.jar
jar -cvf combined.jar -C tmp .
5) I browsed in CCX Administration to Subsystems > Database > Drivers, chose my file “combined.jar” file (C:\combined.jar) and selected "com.ibm.db2.jcc.DB2Driver” from the drop down box. I clicked upload and it accepted it.
6) I browsed in CCX Administration to Subsystems > Database > Datasource and built my datasource. I entered my DSN name, username, password, confirmed the password, chose “com.ibm.db2.jcc.DB2Driver” from the drop down box, and entered my JDBC URL - jdbc:db2://<iSeries IP Address>:446/SXXXXXXX - where, SXXXXXXX is the database name.
7) I then went into the Datasource and tested. It tested successfully.
This allowed us to connect to the customer’s iSeries database.
Please note that after we fixed this issue, we ran into another one. Here's a description of that issue and how we resolved it.
Inserting Rows to a non-journaled iSeries DB2 database
Description: Getting an error when we try to insert or update an iSeries DB2 database, using the DB Write Step. This was working before in CCX 7.x (Windows based) when the connection was using ODBC. The CCX engine is successfully able to connect to the customer database via JDBC, however, we are seeing something similar to this in the CCX Engine logs when we try to do database writes (DB Write in CCX script):
%MIVR-LIB_JDBC-7-UNK:com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-7008, SQLSTATE=55019, SQLERRMC=DATABASENAME ;3, DRIVER=4.16.53
The key to this problem turned out to be that the customer database was not journaled. IBM provided useful information in this regard. In particular, the following IBM tech note indicates that they do NOT support manipulating the JDBC driver parameters on the iSeries. Instead, either the database must be journaled, or you must use “WITH NC” (omitting the quotes) at the end of your INSERT or UPDATE SQL query (at the end of our DB Write step) . When we use “WITH NC”, the database inserts work without error.
See this link for more details.