September 1, 2009 at 9:34 pm
In 2008 SSIS, the dtexec.exe utility with /config file switch doesn't take values specified in the dtsconfig file. I really don't understand then what is the use of dtsconfig file.
for example.
1.you generatd the dtsconfig file for a package.
2.edited it to keep production connection strings for configured properties.
3.written a bat file using dtexec
when run the bat file it still pointing to design time values.
now the package is not taking values from the modified config file. Can anyone please tell me how to force to use the new config file?
Here is MSDN article.
September 2, 2009 at 8:47 am
when you say that the config file is not taking values, do you mean when you are running the package in sql agent job?
June 28, 2011 at 4:54 pm
I have the similar problem.
We execute the SSIS Package as shown below
DTEXEC /FILE <PackagePath>\<PackageFileName.dtsx> /CONFIG <ConfigFileName>
For each region we have seperate configuration file. At design time it points to DEV region. But when we moved it to SYS region the config file name changes (Remember the same config structure is followed) and it does not apply the configuration from the new config and continue to use the design time values. This was working perfectly alright in SSIS 2005. I tried unchecking "Enable Package Configuration" but the result was same. Anybody has any thoughts or better approches ?? MSDN has mentioned about SET switch which I have tested but no luck!
June 28, 2011 at 7:12 pm
SSIS 2008 has changed the order in which configurations are applied.
I've read a better description of configuration precedents but I can't find it now, so here's another one:
Anyway, in SSIS 2008 package configurations are applied first (step 1), then any configurations supplied by command line are run (step 2) , then package configurations are applied again (step 3).
What this means is there's a change of approach in supplying configurations. The values supplied via command line shouldn't attempt directly to overwrite aynthing configured at design time. Rather, what you can do via command line is change the source of design time configurations.
For example, what I have done in this case is created two database tables, each in a different database; one for prod, one for dev (but they could just as easily be xml config files). At design time the configuration loads from the dev database. When running this via command line I can overwrite the database name to make it use the prod values, like so:
Step 1: load package configurations - gets config from dev database
Step 2: apply runtime configurations - change connection string to prod database
Step 3: reload package configurations - loads from prod database.
Another approach is not to try and overwrite values at run time but to instead change the source of the package configuration values.
I.e. at desing time configure package to load values from xml file in a given location or with a given name then at runtime simply substitute that xml file with the one that contains the required values.
HTH
June 30, 2011 at 5:56 am
Finally I found a solution. Two simple steps you can continue to use the config mechanism that we have used with SSIS 2005.
Step 1. Right click Control flow empty area and uncheck "Enable Package configuration"
Step 2. Right click --> Properties and in the ID property of the package click the drop down and select <Generate New ID>
Save the package and run it the run time configuration will work using /CONF now onwards.
June 30, 2011 at 5:57 am
Please try my solution given in the posts . It worked for me.
Viewing 6 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply