We have a DB2 connect server (9.7 fp1) we allow our customers to use to connect to z/OS. Since v8 has been unsupported for a year now, we are forcing our customer agencies to upgrade to a version 9(1,5,7) release of DB2 connect. After giving sufficiant time to upgrade, we revoked execute from public on v8 packages. Now our customers are receiving this error:
ERROR  [IBM][DB2] SQL0551N "XXXXXXXX" does not have the privilege to perform operation "EXECUTE PACKAGE" on object "NULLID.SYSSH200". SQLSTATE=42501
The customers say they have upgraged there client to a version 9 release, so why are they still trying to use a v8 package?
Any help would be greatly appreciated.
Thank you Stealth DBA and you too DB2girl, that is the manual i found that led me to believe that the packages were the same in different version.
I guess my next question is how can you tell what packages are needed? In the past we have freed everything with a name in PDSNAME that matched the version (ex v7 sql07...)
If we freed package syssh200 which has a pdsname of SQL08010.xx.xxx.x.xxx, Would running the binds in connect again create a new package for syssh200 with a pdsname of SQL09070.xx.xxx.xx.xx? We don't want to free it if we can't get it back.
Based on what I remember (it's been a while so this info may not be accurate), if you free a package on z/OS and then recreate it from DB2 Connect by binding ddcsmvs.lst, the pdsname will match db2 Connect version.
We ran a test on our sandbox system this morning and if you free the package and run the binds again from connect, it will bind it with the new PDSNAME of
SQL09071.xx.xxx.xx.xx. Is this new package then backward compatible? I ran the bind using 9.7 would 9.5 and 9.1 be able to use this
Additional testing revealed that you need to use the action keyword with replace to bind the packages that span multiple releases with the same name. Using that keyword it bound the package and updated the PDSNAME to the version that bound it.
Thank you for your help Bella. I appreciate it.