ferg
ferg

Reputation: 378

Installing an IBM DB2 licence on Linux openSUSE

I am trying to allow php scripts running on my Linux openSUSE system to access IBM DB2 mainframes running Z/OS. I am having problems installing some kind of required license. [Stackoverflow #02484][1] provides good background on what is going on but no detail.

I was originally instructed to install the Enterprise edition of the ibm_data_server_driver_package, this went well and my php script worked fine with a local express version of db2, but failed when I tried to access our company mainframe with:

[IBM][CLI Driver] SQL1598N  An attempt to connect to the database server failed because of a licensing problem.  SQLSTATE=42968

This 'Enterprise' data server package does not appear to contain any of the utilities needed to install licenses. I was then directed to download and install an ibm_db2_connect_unlimitedEdition_SystemZ_QuickStart_Activation_11.1 this contained a simple script db2connectactivate.sh which called a java program, which I used as follows:

java -classpath db2jcc.jar:db2connectactivate.jar com.ibm.db2.jcc.DB2ConnectActivate -caller db2connectactivate.sh -host x.y.z.com -port 7777 -database abc123 -user UUUUUU -password XXXXXX -activatorsqlid '$DDDDDD'

It failed:

[license activator][709][13431]Activation failed.
              SQLCODE: -552
              SQLSTATE: 42502
              Message: DB2 SQL Error: SQLCODE=-552, SQLSTATE=42502, SQLERRMC=$DDDDDD;CREATE PROCEDURE, DRIVER=3.71.22

The local DB2 support staff are all Microsoft based and little help on Linux. They state my account does have sufficient rights and then tried to get to me to all kinds of things with a 'db2' command which did not exist. I am confused. Where is the license? Is it on the main frame or was it within the QuickStart_Activation pack? What does the java program do, does it download and save any keys or tokens which need saved? I have tried running the java program as local root and as myself.

Can anybody explain what is going on and what I have to do to licence my driver?

Upvotes: 0

Views: 553

Answers (2)

ferg
ferg

Reputation: 378

There is DB2 and then there is DB2. Depending on the particular DB2 server variant you MAY need a license from IBM to enable the driver. There appears to several different types and ways of installing the licence, depending on your agreement with IBM and how you connect to the DB.

  1. The server may not require a license for the driver to connect at all. This applies to the DB2 express edition.
  2. The mainframe edition may contain a special license allowing any driver to connect without particular licence set-up. This may be the unlimited variant.
  3. A licence file may need to be added to each driver as it is installed. This may be the enterprise variant.

This is in addition to the account you use to perform the install needing appropriate rights on the DB2 server. Depending on how you install the client the messages are unclear and indicate the account has insufficient rights rather than a licence is missing. The driver installation appears to differ considerably depending on the licence situation.

In our case IBM support were particularly unhelpful. Indeed two months after engaging with IBM support we still dont have a working driver!

Upvotes: 1

Mustafa DOGRU
Mustafa DOGRU

Reputation: 4112

SQLCODE=-552 means that authorization-id DOES NOT HAVE THE PRIVILEGE TO PERFORM OPERATION operation

Could you run with parameters as below with correct database, db user and password.

./db2connectactivate.sh -host x.y.z.com -port 7777 -database abc123 -user db2admin -password adminpassword 

take a look at db2connectactivate - Server license activation utility

Upvotes: 0

Related Questions