SSIS package Configuration

  • Hi SQL Community,

    I'm trying to apply a XML package Configuration file to an SSIS project (To manage our SQL Server connections).

    The configuration settings seems to be applied only when I open the project! Each time I change the configuration values in the xml file and want them to be applied, I need to close and re-open the project...

    I'm not sure if it's a normal behavior or not... but I doubt

    Any clue is appreciated,

    thx,

    Pat.

     

  • Hi Pat,

    if i remember correctly the values are read in and applied at runtime only.

    This implies that depending on your use of the values, you may not see them when you open your package in design mode.

    When you are using the values in expressions, you may be able to evaluate those expressions and see whether your settings are correctly used.

    Michael

  • Variable values are loaded with the original package, then configuration files are processed in the order you specified, then variable values and/or more config files can be specified on the command line when starting a package with DTEXEC.  Multiple command files and SET switches may set the same variable, with the last value specified being the winner.  Imagine how much fun it would be to decide what to do with a change to config file #3 of 10.

    Once the package is loaded it doesn't track the config files for changes.  You can make changes inside the package and re-save the config file, but if you edit the config file directly then you must reload the package.

  • That all I wanted to know!

    thanks alot to both of you,

    Patrick

  • Scott Coleman (1/30/2007)


    Variablevalues are loaded with the original package, then configuration files are processed in the order you specified, then variable values and/or more config files can be specified on the command line when starting a package with DTEXEC. Multiple command files and SET switches may set the same variable, with the last value specified being the winner. Imagine how much fun it would be to decide what to do with a change to config file #3 of 10.

    Once the package is loaded it doesn'ttrack the config files for changes. You can make changes inside the package and re-save the config file, but if you edit the config file directly then you must reload the package.

    I have seached out a similar thread as opposed to posting a new topic - but it is similar to the issue I am trying to understand.

    My question is related to how package confiigurations work in the SSIS developer environment.

    I have a package - which consists of a series of package tasks linked together with a control flow - with the last task which sends a set of email from a sproc being disabled.

    It has a single configuration file in place - of which a similar one is used in the live environment when the package is run from a job - basically overriding connection strings to ensure data is written to live rather than test environments.

    This is the issue ...

    However - when I enabled the disabled email package task - and resaved the package and the solution - when I reopened the package - it showed disabled again. ?!Crazy. This was repeated again with the same problem as I started to doubt whether I was actually saving and reopening the same package.

    Eventually I found out the the configuration file - had the email package step set to disabled.

    Fair enough I thought - the configuration file is applied as the package is loaded - which makes sense.

    However - my question boils down to this - Is all the package configuration applied as when I click on connections - they show as originally created in the package - and not the database connections coded in the package configurations.

    I hope my ramble makes sense - and can basically be described as

    - why does the package confuguration to disable a package step - show applied in the design window - whereas connections - which point to live and test servers etc - only show the original design time values - and not the overriden configured values.

    I am trying to undertsand this - as the business which has forced me to create test systems against my will as I am the only SQL person and operated in a single live environment (albeit carefully) - is in danger of getting test data in their live systems - unless I can undertsand how these package confurations are actually working - particularly in the design environment.

    Thanks for any generous replies Rich

  • One approach to using config files that simplifies debugging is to include variable values instead of step properties, then define properties from those variables using expressions. This way you can set a breakpoint on a step and check the actual runtime variable values.

  • Scott,

    Thanks indeed . I will try doing that as whilst the configurations are good - I have a concern about what is actually happening. I need to investigate how to get breakpoints and variable evaluations working as it will be much easier to debug.

    Just to complete the post - I actually broke it down simply wrote a new package had a think and realised I had made a mistake. The connection I was checking - and not thinking it has changed from original design time - was an orphaned and unused connection which was NOT being overriden in the config file. This is why it wasnt changing.

    All the variable and connections that were overriden the config file - are represented by their overriden value in the design window. (although it is noted they dont get update if a config file is changed - until it is resaved and reopened). I have posted this incase anyone else nneds to know about this.

    I think they say - call off the search

    Thanks

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply