You have added a channel authentication record into a WebSphere MQ 7.1 queue manager:
DISPLAY CHLAUTH(*) TYPE(USERMAP)
1 : DISPLAY CHLAUTH(*) TYPE(USERMAP)
AMQ8878: Display channel authentication record details.
CHLAUTH(*) TYPE(USERMAP)
CLNTUSER(rivera) USERSRC(CHANNEL)
Now you want to remove it and you try executing the following runmqsc command which you constructed using copy and paste from the above output:
DELETE CHLAUTH(*) TYPE(USERMAP) CLNTUSER(rivera) USERSRC(CHANNEL)
3 : DELETE CHLAUTH(*) TYPE(USERMAP) CLNTUSER(rivera) USERSRC(CHANNEL)
You get the following error:
AMQ8405: Syntax error detected at or near end of command segment below:-
DELETE CHLAUTH
The DELETE CHLAUTH does not exist and after consulting the MQ 7.1 Information Center you read that you have to use the SET CHLAUTH command with the argument ACTION(REMOVE). You try now:
SET CHLAUTH(*) TYPE(USERMAP) CLNTUSER(rivera) ACTION(REMOVE)
19 : SET CHLAUTH(*) TYPE(USERMAP) CLNTUSER(rivera) ACTION(REMOVE)
But you get the following error:
AMQ8884: Channel authentication record not found.
You specified the attribute CLNTUSER(rivera) as it was shown in the output of the DISPLAY CHLAUTH(*), thus, you think the record should be found. You want to know what is the problem?
DISPLAY CHLAUTH(*) TYPE(USERMAP)
1 : DISPLAY CHLAUTH(*) TYPE(USERMAP)
AMQ8878: Display channel authentication record details.
CHLAUTH(*) TYPE(USERMAP)
CLNTUSER(rivera) USERSRC(CHANNEL)
Now you want to remove it and you try executing the following runmqsc command which you constructed using copy and paste from the above output:
DELETE CHLAUTH(*) TYPE(USERMAP) CLNTUSER(rivera) USERSRC(CHANNEL)
3 : DELETE CHLAUTH(*) TYPE(USERMAP) CLNTUSER(rivera) USERSRC(CHANNEL)
You get the following error:
AMQ8405: Syntax error detected at or near end of command segment below:-
DELETE CHLAUTH
The DELETE CHLAUTH does not exist and after consulting the MQ 7.1 Information Center you read that you have to use the SET CHLAUTH command with the argument ACTION(REMOVE). You try now:
SET CHLAUTH(*) TYPE(USERMAP) CLNTUSER(rivera) ACTION(REMOVE)
19 : SET CHLAUTH(*) TYPE(USERMAP) CLNTUSER(rivera) ACTION(REMOVE)
But you get the following error:
AMQ8884: Channel authentication record not found.
You specified the attribute CLNTUSER(rivera) as it was shown in the output of the DISPLAY CHLAUTH(*), thus, you think the record should be found. You want to know what is the problem?
Cause
See the following section of the MQ 7.1 Information Center:
http://publib.boulder.ibm.com/infocenter/wmqv7/v7r1/index.jsp?topic=%2Fcom.ibm.mq.doc%2Ffa11060_.htm
WebSphere MQ > Administering > Administering local WebSphere MQ objects > Performing local administration tasks using MQSC commands
WebSphere MQ object names
+ Case-sensitivity in MQSC commands
MQSC commands, including their attributes, can be written in upper-case or lower-case. Object names in MQSC commands are folded to upper-case (that is, QUEUE and queue are not differentiated), unless the names are enclosed within single quotation marks. If quotation marks are not used, the object is processed with a name in upper-case.
When specifying the SET command with the following value CLNTUSER(rivera) the string 'rivera' will be folded to upper-case resulting in the following value being actually used by runmqsc:
CLNTUSER(RIVERA)
And in this case, there is no record for the user RIVERA (the record is for 'rivera').
WebSphere MQ > Administering > Administering local WebSphere MQ objects > Performing local administration tasks using MQSC commands
WebSphere MQ object names
+ Case-sensitivity in MQSC commands
MQSC commands, including their attributes, can be written in upper-case or lower-case. Object names in MQSC commands are folded to upper-case (that is, QUEUE and queue are not differentiated), unless the names are enclosed within single quotation marks. If quotation marks are not used, the object is processed with a name in upper-case.
When specifying the SET command with the following value CLNTUSER(rivera) the string 'rivera' will be folded to upper-case resulting in the following value being actually used by runmqsc:
CLNTUSER(RIVERA)
And in this case, there is no record for the user RIVERA (the record is for 'rivera').
Answer
NOTICE that the userid mentioned in the CLNTUSER field of the output of the DISPLAY CHLAUTH command is NOT surrounded by single quotes.
However, you MUST include the single quotes when specifying the value during an ACTION(REMOVE):
SET CHLAUTH(*) TYPE(USERMAP) CLNTUSER('rivera') ACTION(REMOVE)
1 : set CHLAUTH(*) TYPE(USERMAP) CLNTUSER('rivera') ACTION(REMOVE)
AMQ8877: WebSphere MQ channel authentication record set.
Additional Search Words: uppercase lowercase upper lower case
However, you MUST include the single quotes when specifying the value during an ACTION(REMOVE):
SET CHLAUTH(*) TYPE(USERMAP) CLNTUSER('rivera') ACTION(REMOVE)
1 : set CHLAUTH(*) TYPE(USERMAP) CLNTUSER('rivera') ACTION(REMOVE)
AMQ8877: WebSphere MQ channel authentication record set.
Additional Search Words: uppercase lowercase upper lower case
Comments
Post a Comment