Author |
Message
|
run |
Posted: Mon Nov 22, 2010 12:26 pm Post subject: |
|
|
 Apprentice
Joined: 14 May 2007 Posts: 45 Location: Newyork, USA
|
Had same problem below is how it got fixed:
Please re-install with new binaries 7.0.1.0 with fixpack 3 from the IBM website . Mine was a problem related to earlier downloaded binaries 7.0.1.0 fixpack 2. As this is windows after installing create queue manager, listener and in the advanced setting client connection create a new client channel.  |
|
Back to top |
|
 |
gbaddeley |
Posted: Mon Nov 22, 2010 2:55 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
Something I don't think has been mentioned is that CLNTCONN channels are stored internally in the qmgr along with all other channel objects (since V6.0 I think). If there is a CCDT properly defined to the qmgr at the time that CLNTCONN channel operations are performed, the qmgr will *also* update the CCDT.
Therefore if you are running define channel commands against an "empty" CCDT, you will need to use "define .... replace" if the channels have previously been defined on that qmgr. _________________ Glenn |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Nov 22, 2010 4:18 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9470 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
Therefore if you are running define channel commands against an "empty" CCDT, you will need to use "define .... replace" if the channels have previously been defined on that qmgr. |
Well, yes, if you leave the AMQCLCHL.TAB in pristine state, then definitions must conform to the same syntax as other objects - with REPLACE/NOREPLACE.
I'm a believer in creating objects from MQSC scripts. If a new object definition is needed, it should be added to the script, and the script re-played - with REPLACE.
My suggestion for the OP was to create a script for each client; with the resulting channel table renamed to some name with meaning. If this process is followed, the new MQCLCHL.TAB will be discrete to the client.
If there is no AMQLCHL.TAB file (as there will be none after a rename), then a new one will be created with the new DEFs. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
gbaddeley |
Posted: Mon Nov 22, 2010 4:52 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
bruce2359 wrote: |
Quote: |
Therefore if you are running define channel commands against an "empty" CCDT, you will need to use "define .... replace" if the channels have previously been defined on that qmgr. |
Well, yes, if you leave the AMQCLCHL.TAB in pristine state, then definitions must conform to the same syntax as other objects - with REPLACE/NOREPLACE.
I'm a believer in creating objects from MQSC scripts. If a new object definition is needed, it should be added to the script, and the script re-played - with REPLACE.
My suggestion for the OP was to create a script for each client; with the resulting channel table renamed to some name with meaning. If this process is followed, the new MQCLCHL.TAB will be discrete to the client.
If there is no AMQLCHL.TAB file (as there will be none after a rename), then a new one will be created with the new DEFs. |
This is basically what I use on Windows to create a CCDT. "define-clntconn-xyzapp-01.bat" contains:
Code: |
@echo off
rem Local Windows queue manager name
set WINQMGR=MQGBT1
rem CCDT file name to be generated, with version number
set TABFILE=xyzapp01.tab
echo ****** Delete %TABFILE%
del /q %TABFILE%
echo.
echo ****** Restart the local qmgr %WINQMGR% with CCDT environment variables set
endmqm -i %WINQMGR%
set MQCHLLIB=%CD%
set MQCHLTAB=%TABFILE%
echo MQCHLLIB=%MQCHLLIB%
echo MQCHLTAB=%MQCHLTAB%
strmqm %WINQMGR%
echo.
echo ****** Define the CLNTCONN channels in the CCDT
runmqsc %WINQMGR% <xyzapp-mqsc-01.txt
pause
echo.
echo ****** Display all CLNTCONN channels in the CCDT
echo dis chl('XYZ*') chltype(clntconn) all | runmqsc %WINQMGR%
pause |
"xyzapp-mqsc-01.txt" contains:
Code: |
define channel('XYZ.CLIENT.DEV') chltype(clntconn) replace +
trptype(tcp) qmname('MQXYZD01') conname('xyz.devbox.com(1415)') +
descr('dev XYZ client channel')
*
define channel('XYZ.CLIENT.TEST') chltype(clntconn) replace +
trptype(tcp) qmname('MQXYZT01') conname('xyz.testbox.com') +
descr('test XYZ client channel')
*
define channel('XYZ.CLIENT.PROD') chltype(clntconn) replace +
trptype(tcp) qmname('MQXYZP01') conname('xyz.prodbox.com') +
descr('prod XYZ client channel') |
Double click on the .bat file in Windows Explorer, and hey presto, one CCDT created in the folder. _________________ Glenn |
|
Back to top |
|
 |
shashivarungupta |
Posted: Mon Nov 22, 2010 11:30 pm Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
gbaddeley wrote: |
Something I don't think has been mentioned is that CLNTCONN channels are stored internally in the qmgr along with all other channel objects (since V6.0 I think). If there is a CCDT properly defined to the qmgr at the time that CLNTCONN channel operations are performed, the qmgr will *also* update the CCDT.
Therefore if you are running define channel commands against an "empty" CCDT, you will need to use "define .... replace" if the channels have previously been defined on that qmgr. |
I think this point has been pointed out here, when I asked that any operation on 'existing' client conn channel like alter/delete..won't the qmgr (that holds that obj's file) would look into AMQCLCHL.TAB file for its updation. (This is the scenario when we use standard methods to create/alter/delete the client conn channel as mq explorer/mqsc commands).
And when I used MO72 (as suggested in above recent posts) on windows, using following command to create .TAB file, which doesn't create the client conn. channel inside some qmgr But puts the binary definition of that channel into a customized IPS2_TODERBY.TAB file.
Code: |
C:\varun\WMQStuff\mo72\Windows>mqsc -n -t IPS2_TODERBY.TAB
Current channel table file not found
Can not find file 'C:\Program Files\IBM\WebSphere MQ\IPS2_TODERBY.TAB'
>DEFINE CHANNEL(IPS2_TODERBY) CHLTYPE(CLNTCONN) QMNAME(DERBY) CONNAME('9.50.51.52(1414)') TRPTYPE(TCP)
AMQ8016: WebSphere MQ channel 'IPS2_TODERBY' defined
>
>END
MQSC Ended |
_________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
exerk |
Posted: Tue Nov 23, 2010 12:15 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
That command does not create a CCDT file. Look at the readme file for MO72 and work out what it is that's missing...
...hint: "...Copy the AMQCLCHL.TAB file to a location of your choice, to use as a template..."
EDIT: doh! yes it does, but in the default install path - I plead lack of caffeine in my (poor) defence. _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
shashivarungupta |
Posted: Tue Nov 23, 2010 1:06 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
exerk wrote: |
...hint: "...Copy the AMQCLCHL.TAB file to a location of your choice, to use as a template..." |
Its not required in my case, I wanted to have different .TAB Files for each of the clients. Yes copy of AMQCLCHL.TAB file Or any other customized file is required when someone wants to Append the client conn. def in that existing file.
exerk wrote: |
EDIT: doh! yes it does, but in the default install path - I plead lack of caffeine in my (poor) defence. |
Yes, it takes the default installation mq path (which is shown in the above snap C:\Program Files\IBM\WebSphere MQ\ ) to place the .tab file unless I specify it using -t flag.
AFA your defense is concerned..you do good most of the times. _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
jeevan |
Posted: Tue Nov 23, 2010 6:44 am Post subject: |
|
|
Grand Master
Joined: 12 Nov 2005 Posts: 1432
|
shashivarungupta wrote: |
exerk wrote: |
...hint: "...Copy the AMQCLCHL.TAB file to a location of your choice, to use as a template..." |
Its not required in my case, I wanted to have different .TAB Files for each of the clients. Yes copy of AMQCLCHL.TAB file Or any other customized file is required when someone wants to Append the client conn. def in that existing file.
exerk wrote: |
EDIT: doh! yes it does, but in the default install path - I plead lack of caffeine in my (poor) defence. |
Yes, it takes the default installation mq path (which is shown in the above snap C:\Program Files\IBM\WebSphere MQ\ ) to place the .tab file unless I specify it using -t flag.
AFA your defense is concerned..you do good most of the times. |
Or you can read and write the CCDT programmatically, which I am exploring now without success, using perl module: ChannelTable.pm
http://search.cpan.org/~hbiersma/MQSeries-1.29/MQSeries/Config/ChannelTable.pm |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Nov 23, 2010 8:15 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9470 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
...Append the client conn. def in that existing file. |
Although I believe I understand what your intent is, WMQ MQSC does not support/implement an APPEND command. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
shashivarungupta |
Posted: Tue Nov 23, 2010 12:52 pm Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
bruce2359 wrote: |
Quote: |
...Append the client conn. def in that existing file. |
Although I believe I understand what your intent is, WMQ MQSC does not support/implement an APPEND command. |
I meant to say.. when someone wants to have multiple client conn. channel definitions (binary) in the same .tab file.
 _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
gbaddeley |
Posted: Tue Nov 23, 2010 3:59 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
This is not endorsed by IBM and not guaranteed to work on currently supported or future supported versions of MQ. The format of a CCDT file is proprietary and is unlikely to every be published. _________________ Glenn |
|
Back to top |
|
 |
jeevan |
Posted: Tue Nov 23, 2010 5:59 pm Post subject: |
|
|
Grand Master
Joined: 12 Nov 2005 Posts: 1432
|
gbaddeley wrote: |
This is not endorsed by IBM and not guaranteed to work on currently supported or future supported versions of MQ. The format of a CCDT file is proprietary and is unlikely to every be published. |
that is understood. But as I mentioned earlier in this post, it seems we can write/read CCDT using perl module ChannelTable.pm. However I am still struggling installing it. But my point is it can be done. |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Nov 23, 2010 7:14 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9470 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
But my point is it can be done. |
Of course it can; but you will need to rewrite your code each time the WMQ factory decides to modify the size/shape/contents of the table.
This wheel has already been invented; and it is owned and managed by IBM. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
zpat |
Posted: Wed Nov 24, 2010 1:11 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
I don't understand the fuss here, just keep the definitions in source form and use MO72 as a "compiler". |
|
Back to top |
|
 |
exerk |
Posted: Wed Nov 24, 2010 1:15 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
zpat wrote: |
I don't understand the fuss here, just keep the definitions in source form and use MO72 as a "compiler". |
As I've noticed in the past with shashivarungupta, if there's a difficult way of doing things, he/she will do it  _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
|