Author |
Message
|
angka |
Posted: Mon Dec 05, 2011 8:23 pm Post subject: Compute Node DSN initiation |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
Hi,
I observed that when a new flow is deployed, the DSN need to be initialised for at least once before the
"DECLARE CONTINUE HANDLER FOR SQLSTATE LIKE '%'
BEGIN
END;" esql code is able to capture database cannot be connected exception(DB down or nw issue).
If it is not initialised, it will go to the failure terminal instead of going into the esql code.
Is there a workaround for this? I need this because my exception flow which also connects to the DB will also need to be initialised once.
Thank you. |
|
Back to top |
|
 |
angka |
Posted: Tue Dec 06, 2011 7:41 pm Post subject: |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
|
Back to top |
|
 |
smdavies99 |
Posted: Wed Dec 07, 2011 12:00 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Workaround?
How about doing a read that is guaranteed to return nothing that will affect anything else.
If the DB was oracle I'd do a select on 'Dual'.
Otherwise, open a PMR.
I raised a PMR of a very similar thing (in 2.1 days) about the timing of an ODBC connection initialisation.
If certain situations we had to put a compute node(with the ODBC DSN specified) before the one where we wanted to actually use an ODBC connection. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
angka |
Posted: Wed Dec 07, 2011 12:56 am Post subject: |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
Hi,
Thanks. But the problem is my exception flow is a subflow and thus it needs to be initialised even when the main flow had been initialised.
think the only option now is to raise a PMR.
Thank you. |
|
Back to top |
|
 |
smdavies99 |
Posted: Wed Dec 07, 2011 1:14 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
angka wrote: |
Hi,
Thanks. But the problem is my exception flow is a subflow and thus it needs to be initialised even when the main flow had been initialised.
think the only option now is to raise a PMR.
Thank you. |
I think you are slightly confused about the realtionship between flows and the subflows that are used by the flow.
I'll defer the proper explanation to one of the Hursley guys but I seem to recall such an explanation appearing here within the last 6 months. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
angka |
Posted: Wed Dec 07, 2011 2:00 am Post subject: |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
Hi,
I understand the relationship btw flow and subflow, however, the scenario i mentioned is happening.
Are you refering to this thread?
http://www.mqseries.net/phpBB2/viewtopic.php?t=57778&highlight=dsn
If so what do you mean by "You could set the DSN property to another one of the same DB Type and then the code will trap the error. "
Thank you. |
|
Back to top |
|
 |
smdavies99 |
Posted: Wed Dec 07, 2011 2:08 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Add a compute node
ESQL
SET OutputRoot = InputRoot;
In the DSN property, enter the DSN you are having problems with.
does this make sense? _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
angka |
Posted: Wed Dec 07, 2011 2:37 am Post subject: |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
Hi,
Is this what you mean?
MQInput->computeNode01(DSN01)-computeNode02(DSN01)->MQOutput
Add a computeNode01 before the computeNode02(actual).
so when the connection to the DB is down, computeNode01 will catch the exception but this doesn't solve the problem as I want the esql code in computeNode02 to handle DB exception.
Thanks |
|
Back to top |
|
 |
|