Reputation: 378
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
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.
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
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