Adding configuration file to SSIS package

I have an SSIS package with two connections in Connection manager. It reads data from one database and copies it into another. I would like to be able to dynamically specify source server, source database, target server, target database and other variables to make the package dynamic, since it will run in 3 different environments: Dev, QA, and Production. Thus all the server names will be different. Can someone guide me through adding a configuration file and making server names and database names dynamic?
LVL 35
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

YZlatConnect With a Mentor Author Commented:
Surendra NathTechnology LeadCommented:
Yes, you can definelty add the configuration and schedule the same using the SQL Agent Jobs...

Please use the below tutorial to do the same
Adding onto that...
Suggest on the package that reads/copies the data that you add a package configuration of type Parent Package Variable that depends on your connection string specifics to be provided.  Then you can have multiple parent packages, one for each environment, that call into that first package passing in the appropriate source and destination information.
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

YZlatAuthor Commented:
Surendra, actually my question was not how to run the package but how to add configuration to it.

oromm, I am new to SSIS and I am not sure I understand, could you please explain?
The 2nd tutorial link sent by Surendra has a section about Parent Package Variable Configurations.  From those tutorials, once you have a better understanding of the use/application/implementation of Package Configurations, you can configure your "working" package (i.e. the one that is doing the primary work to be accomplished) to pull the database connection string parameters from a parent/calling package.  

You would then have a parent package for each of your environments with connection managers specific to those environments, or just variables with the connection string specifics.  Each of those parent packages would have an "Execute Package Task" in the Control Flow to execute the same working package.  

Essentially your working package is dependent upon the calling package to provide the connection information necessary.  It is oblivious to anything about that calling/parent package, other than the fact that there are package variables that are providing values to your working package.
YZlatAuthor Commented:
I used my own link in providing the solution
All Courses

From novice to tech pro — start learning today.