ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Installation/Configuration Support » Client Channel Table Creation

Post new topic  Reply to topic Goto page 1, 2  Next
 Client Channel Table Creation « View previous topic :: View next topic » 
Author Message
PeterPotkay
PostPosted: Fri Feb 15, 2002 12:58 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Which manual are the instructions located in? I can't find them and it's driving me nuts.

_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
venkat kurra
PostPosted: Fri Feb 15, 2002 1:24 pm    Post subject: Reply with quote

Master

Joined: 18 Oct 2001
Posts: 245
Location: Bloomington , IL

Look at MQSeries Clients at
http://www-4.ibm.com/software/ts/mqseries/library/manualsa/manuals/crosslatest.html
and it's FTP at
ftp://ftp.software.ibm.com/software/ts/mqseries/library/books/csqzaf05.pdf
Chapter 8.
Thanks,
Venkat Kurra
Back to top
View user's profile Send private message Send e-mail
PeterPotkay
PostPosted: Mon Feb 18, 2002 7:41 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

I'm having a brain lapse here....

I have a client machine that will connect to queue manager QM1 on a remote server. I want this client to connect via a channel table.

QM1 already has a SVRCONN channel defined called QM1.CLIENT. There is also the default AMQCLCHL.TAB file in D:program filesmqseriesqmgrsQM1@ipcc.

So, at this point, I want to create a ChannelTableToQM1.TAB file to give to the client. I create a ScriptToCreateChannelTabletoQM1.txt file as follows.....

DEFINE CHANNEL(QM1.CLIENT) CHLTYPE(CLNTCONN) TRPTYPE(TCP) CONNAME(the hostname of the server) QMNAME(QM1) REPLACE
DEFINE CHANNEL(QM1.CLIENT) CHLTYPE(SVRCONN) TRPTYPE(TCP) REPLACE

and save it to the D drive.

From a D command prompt, I type.....
D:>runmqsc QM1 <d:ScriptToCreateChannelTabletoQM1.txt

No errors, channels created, all commands read.

Now what? Where is the .tab file that I can email to the client? What is it called? If I look at AMQCLCHL.TAB, it still looks the same (last modified date didn't change).

Also, is it true that I can only create a channel table for a queue manager if I am on that local machine (or pcanywhereed into it)? In other words, I can't create channel tables for QM2(server2) thru QM10(server10) from QM1(server1)?





_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
Tibor
PostPosted: Mon Feb 18, 2002 8:27 am    Post subject: Reply with quote

Grand Master

Joined: 20 May 2001
Posts: 1033
Location: Hungary

Quote:

Also, is it true that I can only create a channel table for a queue manager if I am on that local machine (or pcanywhereed into it)? In other words, I can't create channel tables for QM2(server2) thru QM10(server10) from QM1(server1)?


Definitely, NO. I made *ALL* client connection on QM1 then I copied this file to all others. And works good.

But I don't understand what would be wrong in your steps
Back to top
View user's profile Send private message
StefanSievert
PostPosted: Tue Feb 19, 2002 1:31 pm    Post subject: Reply with quote

Partisan

Joined: 28 Oct 2001
Posts: 333
Location: San Francisco

Peter,
you can create a client channel table for any queue manager's client connections on a random queue manager.
After your MQSC commands have been executed successfully, the channel definitions are stored in D:program filesmqseriesqmgrsQM1@ipccamqclchl.tab,
provided that QM1 is the queue manager you ran the commands on.
I used to create a 'dummy' queue manager for this task and wrote a little batch file (a no-brainer) to do the following steps:
1/ copy a backup of original amqclchl.tab file to ...@ipcc
2/ runmqsc qmgrname < inputcmds.txt
3/ rename amqclchl.tab for distribution to set of clients

Step 1 was necessary because the customer wanted to have different files for different 'groups' of clients. By saving the original file after dummy queue manager creation, I could produce these different files. If you don't have a problem with having all of your potential MQCONN targets in one file, you don't need to do that.
Hope this keeps you from spending a lot on therapy...
Stefan

_________________
Stefan Sievert
IBM Certified * WebSphere MQ
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Wed Feb 20, 2002 8:16 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

This just ain't working!

DEFINE CHANNEL(QM1.CLIENT) CHLTYPE(CLNTCONN) TRPTYPE(TCP) CONNAME(the hostname of the server) QMNAME(QM1) REPLACE
DEFINE CHANNEL(QM1.CLIENT) CHLTYPE(SVRCONN) TRPTYPE(TCP) REPLACE

I now go to explorer and see that both these channels are in fact created.

I go to D:program filesmqseriesqmgrsQM1@ipcc, and that amqclchl.tab just is not being modified. For the heck of it I even tried using a copy of it on the client pc, and amqsputc ends with a 2059.

For what it's worth, a dat file called amqrfcda.dat is being updated every time I run the script.






_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Wed Feb 20, 2002 12:14 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

I got fed up with this on QM1/box1 and tried the following on QM2/box2.

DEF CHL(QM2.CLIENT) CHLTYPE(CLNTCONN) TRPTYPE(TCP) CONNNAME (hostname of box2) QMNAME(QM2) REPLACE
DEF CHL(QM2.CLIENT) CHLTYPE(SVRCONN) TRPTYPE(TCP)

I see that these 2 channels got created on QM2. I go to look at amqclchl.tab and Whoopee!!!, it got modified! (Right now I'm like "Who cares why QM1 wouldn't work, at least we're making progress here")

I take this new copy of amqclchl.tab, copy it to floppy, rename it, copy it to the C drive of the client machine, reset the MQCHLLIB and MQCHLTAB variables to point to it, reboot, type in amqsputc TEST.QUEUE and.......

2059.

OK. I set the MQSERVER variable in the same DOS window and retry the put with no problems. (SET MQSERVER=QM2.CLIENT/TCP/HOSTNAME OF QM2)

Change the MQCHLTAB variable to point to an existing channel table I have to QM99. Reboot and try amqsputc again. No problem.

I am doing something wrong here with this new channel table that I am trying to create.

1.) When/how does amqclchl.tab get updated? Anytime I create any channel? Or only when I create a CLNTCONN channel?
2.) Does amqclchl.tab get rewritten every time? Or does it get appended to?
3.) What happens to this tab file if today I want to make a client channel table for client one to QM1, but tommorow I want to make another table for client two to QM2? Does the second client get the first's info in addition to his own?
4.) I see how I can create a channel table for a client so that he can connect to any other QM. But if I do this for QM99 from QM1, someone on QM99 still needs to define the SVRCONN channel on QM99, right?
5.) I assume the listner must be running on the remote queue manager for a client to connect?
6.) If I think my amqclchl.tab file is just a plain mess on the QMGR and want to start from scratch, what do I do? I remember reading somewhere that you can't delete this file. I think it may be a mess cuz when i look at it now, even though it is binary data, I can still see the channel name. It looks like it is being appended each time I create a new channel. And since the client looks thru this table alphabetically by channel name during connection, maybe I got some junk in there (I would think it would rollover to the next entry till it got a good connection, but right now, I don't which way is up )



_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
StefanSievert
PostPosted: Wed Feb 20, 2002 4:38 pm    Post subject: Reply with quote

Partisan

Joined: 28 Oct 2001
Posts: 333
Location: San Francisco

Peter,
Quote:

On 2002-02-20 12:14, PeterPotkay wrote:
I got fed up with this on QM1/box1 and tried the following on QM2/box2.

DEF CHL(QM2.CLIENT) CHLTYPE(CLNTCONN) TRPTYPE(TCP) CONNNAME (hostname of box2) QMNAME(QM2) REPLACE
DEF CHL(QM2.CLIENT) CHLTYPE(SVRCONN) TRPTYPE(TCP)

I see that these 2 channels got created on QM2. I go to look at amqclchl.tab and Whoopee!!!, it got modified! (Right now I'm like "Who cares why QM1 wouldn't work, at least we're making progress here")

I take this new copy of amqclchl.tab, copy it to floppy, rename it, copy it to the C drive of the client machine, reset the MQCHLLIB and MQCHLTAB variables to point to it, reboot, type in amqsputc TEST.QUEUE and.......

2059.

Did you specify the queue manager name on your amqsputc invocation?

Quote:

OK. I set the MQSERVER variable in the same DOS window and retry the put with no problems. (SET MQSERVER=QM2.CLIENT/TCP/HOSTNAME OF QM2)

Change the MQCHLTAB variable to point to an existing channel table I have to QM99. Reboot and try amqsputc again. No problem.

I am doing something wrong here with this new channel table that I am trying to create.

1.) When/how does amqclchl.tab get updated? Anytime I create any channel? Or only when I create a CLNTCONN channel?

According to the docs, it gets updated on DEFINE CHANNEL and ALTER CHANNEL and, as I would expect, on CLNTCONN channels only. This is not explicitly stated in the docs, but I would assume that a DELETE CHANNEL has an effect as well.
Quote:

2.) Does amqclchl.tab get rewritten every time? Or does it get appended to?

I would suspect that it gets updated, if a matching channel is found and appended for new channels. You could easily try this. If a channel is deleted, the entry is marked as deleted, it is not removed from the file.
Quote:

3.) What happens to this tab file if today I want to make a client channel table for client one to QM1, but tommorow I want to make another table for client two to QM2? Does the second client get the first's info in addition to his own?

Yes. That's why I saved the original copy and used that as a basis for any new queue manager connections.
Quote:

4.) I see how I can create a channel table for a client so that he can connect to any other QM. But if I do this for QM99 from QM1, someone on QM99 still needs to define the SVRCONN channel on QM99, right?

Definitely correct.
Quote:

5.) I assume the listner must be running on the remote queue manager for a client to connect?

Oh yeah, no listener, no channel communications.
Quote:

6.) If I think my amqclchl.tab file is just a plain mess on the QMGR and want to start from scratch, what do I do? I remember reading somewhere that you can't delete this file. I think it may be a mess cuz when i look at it now, even though it is binary data, I can still see the channel name. It looks like it is being appended each time I create a new channel. And since the client looks thru this table alphabetically by channel name during connection, maybe I got some junk in there (I would think it would rollover to the next entry till it got a good connection, but right now, I don't which way is up )

First of all, you can delete the file; but you shouldn't. If you want to start from scratch, you have two options:
1/ delete and recreate the queue manager
2/ Use strmqm -c to recreate the file (and all other default objects). If it doesn't work, delete AMQCLCHL.TAB before executing the command.

If I am not totally mistaken, the client code looks through the file by queue manager name, not by channel name. It will retry all entries for a given queue manager name until a successful connection can be made.

Hope this helps,
Stefan
_________________
Stefan Sievert
IBM Certified * MQSeries

[ This Message was edited by: StefanSievert on 2002-02-20 16:39 ]
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Thu Feb 21, 2002 10:07 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

That was it!!!

When I created the CNTCONN table, I was supplying the QMNAME parameter. Thus, when the client (amqsputc) was attempting to find a match on QMNAME, it was failing, since there was no entry in the table with a blank QM. I just got into the habit of using amqsputc without the QMGR name parameter cuz I was always either using SET MQSERVER or using existing Channel Tables that our MQADMIN guys had set up, and they apparantly always used a blank QMNAME when making the CLNTCONN table.

The table is browsed for a match on the queue manager name by channel name order. I found this in the Client manual under the section "Examples of the MQCONN call". This section actually is very helpful in explaining why I was failing in detail.

Now, I still don't know why amqclchl.tab on my first queue manager was not getting updated. I'll look into that this weekend.


Stefan, just like you to clarify one thing. You say that you save the original copy of amqclchl.tab and use that as a basis for any new tables. Is this how u are doing it?

1. New queue manager has amqclchl.tab file.
2. Make copy called Originalamqclchl.tab
3. Make CLNTCONN channels for customer #1. This modifies amqclchl.tab.
4. Rename amqclchl.tab to Cutomer1amqclchl.tab
5. Make a copy of Originalamqclchl.tab and rename that copy of a copy back to the original name of amqclchl.tab
6. Make CLNTCONN channels for customer #2. This modifies amqclchl.tab (which is a copy of a copy of the original)
7. Rename this version of amqclchl.tab to Customer2amqclchl.tab.

So in this fashion, you have a library of channel tables for different customers, all are unique and seperate from each other, and you always have Originalamqclchl.tab to go back to for your original version.


_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
StefanSievert
PostPosted: Thu Feb 21, 2002 11:16 am    Post subject: Reply with quote

Partisan

Joined: 28 Oct 2001
Posts: 333
Location: San Francisco

Quote:

That was it!!!

When I created the CNTCONN table, I was supplying the QMNAME parameter. Thus, when the client (amqsputc) was attempting to find a match on QMNAME, it was failing, since there was no entry in the table with a blank QM. I just got into the habit of using amqsputc without the QMGR name parameter cuz I was always either using SET MQSERVER or using existing Channel Tables that our MQADMIN guys had set up, and they apparantly always used a blank QMNAME when making the CLNTCONN table.

The table is browsed for a match on the queue manager name by channel name order. I found this in the Client manual under the section "Examples of the MQCONN call". This section actually is very helpful in explaining why I was failing in detail.



Quote:

Now, I still don't know why amqclchl.tab on my first queue manager was not getting updated. I'll look into that this weekend.

Let us know your findings, because this indeed is strange.

Quote:

Stefan, just like you to clarify one thing. You say that you save the original copy of amqclchl.tab and use that as a basis for any new tables. Is this how u are doing it?

1. New queue manager has amqclchl.tab file.
2. Make copy called Originalamqclchl.tab
3. Make CLNTCONN channels for customer #1. This modifies amqclchl.tab.
4. Rename amqclchl.tab to Cutomer1amqclchl.tab
5. Make a copy of Originalamqclchl.tab and rename that copy of a copy back to the original name of amqclchl.tab
6. Make CLNTCONN channels for customer #2. This modifies amqclchl.tab (which is a copy of a copy of the original)
7. Rename this version of amqclchl.tab to Customer2amqclchl.tab.

So in this fashion, you have a library of channel tables for different customers, all are unique and seperate from each other, and you always have Originalamqclchl.tab to go back to for your original version.

Precisely! I just didn't make a copy of a copy of the original; I just saved it to a different directory and copied it from there before creating new channels. But that doesn't really make a difference.

Stefan

_________________
Stefan Sievert
IBM Certified * WebSphere MQ
Back to top
View user's profile Send private message
kavithadhevi
PostPosted: Thu Jun 13, 2002 5:59 am    Post subject: Reply with quote

Master

Joined: 14 May 2002
Posts: 201
Location: USA

Hi,
i tried the TAB file setting, but i had no luck making it work. i need some help. these are the things i did to see whether it works.
OS - win 2000
MQ - ver 5.2

1. created a client conn channel in the QM in the server
2. copied the TAB file to c:\MQC\@ipcc directory in my MQ Client system.
3. Added these in the System env var
MQCHLLIB = c:\MQC\@ipcc
MQCHLTAB = AMQCHCHL.TAB
4. Rebooted the sys and tried exectuing
AMQSPUTC QName QMgrName
also tried this
AMQSPUTC QName *QMgrName

but it gives me a 2058 MQException. wat am i missing out ?Please suggest me to get it set. Your timely help is needed would be greatly appreciated.
_________________
Thanks in Advance.

Kavitha
IBM Certified System Administrator
Websphere MQ v 5.3
www.zealphoenix.com
Back to top
View user's profile Send private message Send e-mail Visit poster's website
StefanSievert
PostPosted: Thu Jun 13, 2002 1:24 pm    Post subject: Reply with quote

Partisan

Joined: 28 Oct 2001
Posts: 333
Location: San Francisco

kavithadhevi wrote:
3. Added these in the System env var
MQCHLLIB = c:\MQC\@ipcc
MQCHLTAB = AMQCHCHL.TAB

Hi,
it might just be a typo above, but the file name should be AMQCLCHL.TAB.
Can you verify that this is not the cause?
If it isn't, make sure your queue manager name is spelled precisely in the way it is named. AMQSPUTC does not convert arguments to uppercase.
If it still doesn't work, please
1/ execute strmqtrc
2/ invoke amqsputc ... ...
3/ execute endmqtrc
and take a look at the trace file produced in your c:\MQC\errors directory.
Stefan
_________________
Stefan Sievert
IBM Certified * WebSphere MQ
Back to top
View user's profile Send private message
kavithadhevi
PostPosted: Mon Jun 17, 2002 10:46 am    Post subject: Reply with quote

Master

Joined: 14 May 2002
Posts: 201
Location: USA

Hi,
Is the above is for multiple TAB files. if so i need some more clarification, i tried that but it didnt work , so i am trying to put it in the path variable and see how it works.
if you have any more ideas pls share it with me.
_________________
Thanks in Advance.

Kavitha
IBM Certified System Administrator
Websphere MQ v 5.3
www.zealphoenix.com
Back to top
View user's profile Send private message Send e-mail Visit poster's website
StefanSievert
PostPosted: Mon Jun 17, 2002 12:35 pm    Post subject: Reply with quote

Partisan

Joined: 28 Oct 2001
Posts: 333
Location: San Francisco

kavithadhevi wrote:
Hi,
Is the above is for multiple TAB files?

No, you cannot use multiple TAB files. Putting the channel file in the path will not help you. The default location is the MQClient installation directory, which can be overridden by the MQCHLLIB variable.
Have you checked your spelling of the channel file? In your example you used AMQCHCHL.TAB, which is probably not the correct name (unless you renamed the file). It should be AMQCLCHL.TAB
Please verify,
Stefan
_________________
Stefan Sievert
IBM Certified * WebSphere MQ
Back to top
View user's profile Send private message
kavithadhevi
PostPosted: Tue Jun 18, 2002 5:19 am    Post subject: Reply with quote

Master

Joined: 14 May 2002
Posts: 201
Location: USA

Hi,
Thanks Stefan, it works like a charm.
_________________
Thanks in Advance.

Kavitha
IBM Certified System Administrator
Websphere MQ v 5.3
www.zealphoenix.com
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » IBM MQ Installation/Configuration Support » Client Channel Table Creation
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.