Page 1 of 1

DSParams

Posted: Wed Aug 12, 2009 4:19 pm
by asorrell
Another shortcut seems to have been taken away. I know in the past I've manually edited DSParams to transfer large blocks of environment variables from one project to another.

Now at 8.1 it seems that this no longer works. Apparently there is some other location (Xmeta?) that is now the "official" repository of environment variables and it just updates DSParams from that location - ignoring manual changes.

Anyone else noticed this - got any ideas as to quick fixes?

*NOTE - For the newbies - this is an internal file that you shouldn't play with! - it could cause serious problems for the project if you screw it up.*

Posted: Wed Aug 12, 2009 4:31 pm
by ray.wurlod
There seem to be 35 tables in XMETA with "param" as part of their name (and none with "env" or "dsparam") in version 8.0.1 (AIX). No time for further research at the moment. But I think you're right about DSParams not being the only location where this information is stored.

Re: DSParams

Posted: Wed Aug 12, 2009 5:05 pm
by Ultramundane
asorrell wrote:Another shortcut seems to have been taken away. I know in the past I've manually edited DSParams to transfer large blocks of environment variables from one project to another.

Now at 8.1 it seems that this no longer works. Apparently there is some other location (Xmeta?) that is now the "official" repository of environment variables and it just updates DSParams from that location - ignoring manual changes.

Anyone else noticed this - got any ideas as to quick fixes?

*NOTE - For the newbies - this is an internal file that you shouldn't play with! - it could cause serious problems for the project if you screw it up.*
Interesting. I am running 8.1 on AIX and have been able to modify the DSParams file from the Administrator for a template project and then copy the DSParams file to other projects. The other projects seem to recognize the variables just fine as I am able to use them. I don't modify the DSParams file by hand though and they are all the same.

Posted: Wed Aug 12, 2009 5:30 pm
by chulett
Interesting, indeed. That would seem to imply that a manual edit should still work. Perhaps there's more to it in 8.x, meaning there are more "sections" in the DSParams files where critical information is stored? :?

Posted: Thu Aug 13, 2009 8:06 am
by ArndW
It does work, but there are 2 sections for environment variables in the DSParams and both need to be changed/edited in order for it to work.

Posted: Thu Aug 13, 2009 9:16 am
by chulett
There's always been two sections, the "more" I was asking about was above and beyond that. Perhaps Andy just needs to double-check what he did. :?

Posted: Thu Aug 13, 2009 8:10 pm
by vmcburney
I think the XMETA param tables are just for job parameters. I remember once discovering there were two files and if you modified the DSParams outside of DataStage it could sometimes overwrite it with the backup file. In fact I found it in the FAQ - it was called DSParams.keep. If you have a file of this name in your project directory you might have switched on some type of file backup and protection. Try modifying DSParams and overwriting DSParams.keep.

Posted: Thu Feb 16, 2012 10:36 am
by RodBarnes
ArndW wrote:It does work, but there are 2 sections for environment variables in the DSParams and both need to be changed/edited in order for it to work.
I don't see a solution in this thread but believe I've found one. :-)

Under 7.5 on Windows, I never had to update both sections. If I simply copied the [EnvVarValues] section of DSParams from one environment to another, it just worked. Something in the engine must have been updating the [EnvVarDefns] to include the new values. I certainly never updated them.

However, under 8.5 on Windows, I found I had to update both sections manually. Doing so seems to work fine.

Posted: Thu Feb 16, 2012 10:37 am
by RodBarnes
ArndW wrote:It does work, but there are 2 sections for environment variables in the DSParams and both need to be changed/edited in order for it to work.
I don't see a solution in this thread but believe I've found one. :-)

Under 7.5 on Windows, I never had to update both sections. If I simply copied the [EnvVarValues] section of DSParams from one environment to another, it just worked. Something in the engine must have been updating the [EnvVarDefns] to include the new values. I certainly never updated them.

However, under 8.5 on Windows, I found I had to update both sections manually. Doing so seems to work fine.

Posted: Thu Feb 16, 2012 5:34 pm
by qt_ky
I've recently migrated from 8.5 to 8.7 and one step from IBM was to backup each project's DSParams file and manually copy/merge env. var.'s into the new project. So I think nothing in those files is going to be overwritten out of XMETA.

Posted: Thu Feb 16, 2012 11:59 pm
by kandyshandy
All i can say is it allowed me to update manually provided I had write permission... ;)

Confirmed DSParams edit alone works in 9.1

Posted: Fri Jun 14, 2013 2:49 pm
by haylo75
I thought it worth noting that, in a 9.1 Linux installation, DSParams is the sole arbiter of User Defined project environment variables. Here's the test I performed:
  • Open DSParams in a text editor
  • Following format conventions, add a variable to the [EnvVarDefns] section
  • Following format conventions, add a value to the [EnvVarValues] section
  • Save DSParams
The new variable is immediately available for use in all clients, e.g. Administrator, Designer, Operations Console. Restarting DataStage is not necessary.

NOTE: No DSParams.keep file existed in my scenario. I cannot comment as to whether an overwrite of that file is necessary.

Knowing this, using client tools for migration of environment variables can be averted. Simply observe the formatting conventions.