home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC71006 Status: Closed

UNABLE TO SCHEDULE TASK IN TASK CENTER

product:
DB2 FOR LUW / DB2FORLUW / 950 - DB2
Problem description:
Creating a task in the Task Center may fail with the message 
below if the special register USER contains extra blank 
characters. 
 
ICM0036N  An SQL error occurred while updating access control 
list "ACL_422". 
[IBM][CLI Driver][DB2/LINUX] SQL0438N  Application raised error 
or warning with diagnostic text: "Access denied". 
SQLSTATE=75001
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ALL                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* SEE ERROR DESCRIPTION.                                       * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to v9.5 Fixpack 7.                                   * 
****************************************************************
Local Fix:
The workaround is to is to modify the trigger ICM_ACEI  so that 
LTRIM and RTRIM are called to clean the special register USER 
before comparing it in the equality predicate. 
 
1) Note the TOOLCAT_DB and TOOLSCAT_INST parameters from the 
output of GET ADMIN CFG 
2) Create a DB2 script containing the commands below: 
 
--Replace with name of your tools database 
CONNECT TO <TOOLSCAT_DB>@ 
 
-- Replace <TOOLSCAT_INST> with the name of the tools schema. 
 
DROP PROCEDURE <TOOLSCAT_INST>.ICM_ACEI@ 
 
CREATE TRIGGER <TOOLSCAT_INST>.ICM_ACEI 
  AFTER INSERT ON TOOLS.ICM_ACE_LIST 
  REFERENCING NEW AS N FOR EACH ROW MODE DB2SQL 
WHEN ( 
  NOT EXISTS 
 
    (SELECT DEFN.ACL_ID FROM TOOLS.ICM_ACL_DEFN DEFN 
    WHERE DEFN.ACL_ID = N.ACL_ID) 
 
  OR ( 
    NOT EXISTS 
 
-- Fixed by adding LTRIM(RTRIM(UCASE(USER))) 
 
      (SELECT DEFN.ACL_ID FROM TOOLS.ICM_ACL_DEFN DEFN 
      WHERE DEFN.ACL_ID = N.ACL_ID 
       AND DEFN.OWNER = LTRIM(RTRIM(UCASE(USER)))) 
 
    AND NOT EXISTS 
 
-- Fixed by adding LTRIM(RTRIM(UCASE(USER))) 
 
      (SELECT A.ACL_ID FROM TOOLS.ICM_ACE_LIST A 
      WHERE ( A.PRINCIPAL <> N.PRINCIPAL OR A.USER_FLAG <> 
N.USER_FLAG ) 
      AND A.ACL_ID = N.ACL_ID 
      AND A.UPDATE_PERM = 1 
      AND ( ( A.USER_FLAG = 'Y' AND A.PRINCIPAL = 
LTRIM(RTRIM(UCASE(USER))) ) 
        OR ( A.USER_FLAG = 'N' AND 
          ( A.PRINCIPAL = 'PUBLIC' 
          OR A.PRINCIPAL IN 
 
          (SELECT UCASE(T.GROUP) 
          FROM TABLE( SYSPROC.AUTH_LIST_GROUPS_FOR_AUTHID( USER 
) ) AS T ) 
 
      ) ) ) ) ) 
) BEGIN ATOMIC 
 
 
  SIGNAL SQLSTATE '75001' ('Trigger ICM_ACI Access denied'); 
 
END@ 
 
4) Save the file and run it:  db2 -td@ -vf <name of file>
available fix packs:
DB2 Version 9.5 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 10 for Linux, UNIX, and Windows

Solution
At minimum this fix should be applied to the tools database used 
by the DB2 Task Center.
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
08.09.2010
12.10.2010
12.10.2010
Problem solved at the following versions (IBM BugInfos)
9.5.FP7
Problem solved according to the fixlist(s) of the following version(s)
9.1.0.7 FixList
9.5.0.7 FixList