Author |
Message
|
Vanshul_MB |
Posted: Tue May 31, 2011 9:52 pm Post subject: Dynamically setting Datasource name in query |
|
|
Acolyte
Joined: 09 Feb 2011 Posts: 68
|
Hi,
My query is like this
SET Environment.Variables.ConfigData.OTA_Chain_Codes[]=PASSTHRU ('SELECT CHAIN_CD FROM HTLCONT.CHAIN WHERE CHAIN_ID IN(SELECT CHAIN_ID FROM HTLCONT.SRC_CHAIN_ASOC WHERE SRC_ID IN(SELECT SRC_ID FROM ESBLYR.APP WHERE APP_ID=?))' TO Database.ESBLYR VALUES (appID));
We have a requirement that we need to override this value for each environment as DSN name differs.
Can you please help me here? |
|
Back to top |
|
 |
Gemz |
Posted: Tue May 31, 2011 10:00 pm Post subject: |
|
|
 Centurion
Joined: 14 Jan 2008 Posts: 124
|
|
Back to top |
|
 |
Vanshul_MB |
Posted: Tue May 31, 2011 10:05 pm Post subject: |
|
|
Acolyte
Joined: 09 Feb 2011 Posts: 68
|
I just DECLARE a CHARACTER for my testing.But it gives an error.
DECLARE DBName CHARACTER 'ESBLYR';
Then in query i used Database.DBName
Throws an error that Data source not found |
|
Back to top |
|
 |
smdavies99 |
Posted: Tue May 31, 2011 11:10 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Vanshul_MB wrote: |
I just DECLARE a CHARACTER for my testing.But it gives an error.
DECLARE DBName CHARACTER 'ESBLYR';
|
Did you try the {} around the name
Code: |
SET Environment.Variables.ConfigData.OTA_Chain_Codes[]=PASSTHRU ('SELECT CHAIN_CD FROM HTLCONT.CHAIN WHERE CHAIN_ID IN(SELECT CHAIN_ID FROM HTLCONT.SRC_CHAIN_ASOC WHERE SRC_ID IN(SELECT SRC_ID FROM ESBLYR.APP WHERE APP_ID=?))'
TO Database.{ESBLYR} VALUES (appID));
|
_________________ 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 |
|
 |
mqjeff |
Posted: Wed Jun 01, 2011 2:24 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
smdavies99 wrote: |
Vanshul_MB wrote: |
I just DECLARE a CHARACTER for my testing.But it gives an error.
DECLARE DBName CHARACTER 'ESBLYR';
|
Did you try the {} around the name
Code: |
SET Environment.Variables.ConfigData.OTA_Chain_Codes[]=PASSTHRU ('SELECT CHAIN_CD FROM HTLCONT.CHAIN WHERE CHAIN_ID IN(SELECT CHAIN_ID FROM HTLCONT.SRC_CHAIN_ASOC WHERE SRC_ID IN(SELECT SRC_ID FROM ESBLYR.APP WHERE APP_ID=?))'
TO Database.{ESBLYR} VALUES (appID));
|
|
You mean
Code: |
TO Database.{DbName} |
|
|
Back to top |
|
 |
|