December 2, 2009 at 6:31 pm
I have several SSIS packages which contain Analysis Services Processing tasks to access the cubes or dimensions. In each package I have to define connection strings in the Connection Manager section to point to different cubes or dimensions. Some packages might be pointing to 2-3 cubes, while others might be pointing to just 1 cube. That means each package will have different entries in Connection Manager.
I understand that I can use Package Configuration to share connection strings among different packages as well as making it flexible to change connection strings during deployment. However, the downside of package configuration is that each package must have the same number of connection strings defined, otherwise they will return errors.
I have tried to use "Data Source" within my project solution, which works for packages without any SSAS tasks. If I have an Analysis Services Processing task in a package, and I open the Processing Settings, under the "Analysis Services connection manager" drop down list I could not find the defined "data source" entries. I wonder if anyone of you have had the similar situation before and please give me some advices on how to resolve this.
As a matter of facts, I am seeking any solution which can enable me to share common connection strings among different packages (especially those containing SSAS tasks).
Many thanks.
Ed
April 7, 2011 at 4:19 am
Create induviual Package configuration for each Connection manager in a package . And make connection manager name same in all the package and choose the Same configuration file for the ssis package configuration. we are following this in Database connection configuration.
April 7, 2011 at 8:54 am
Very easy:
I guess your situation is the following:
- You have a whole lot of datasources (db's, cubes, files, etc...)
- You use different datasources in different packages
- Some datasources might be used in several packages
First:
- Make sure you give the same datasources the same names in all packages
Then:
- In one of your packages, create a package configuration and choose type SQL server
- Create the variable you want and in your SQL Server database you'll see a table show-up called SSIS_configurations
- In that table you'll see a list of entries, one for every variable you created
- You can use these variables over several packages
- So link every datasource in every package to the right variable in your configuration table
- You can always add new variables to your table
When deploying to a different environment you can just copy the ssis_configurations table and change the values as you need
Our best practice is to create a seperate small SQL DB for this and just copy the entire db from development to production. That way, we have a set of values that apply in development and a seperate set in production.
Values I Always store in variables:
- OLE DB connection SERVERNAME
- OLE DB connection INITIAL CATALOG name
For the configurationDB connection we always use
- Fixed Servername: LOCALHOST
- Fixed DB-name: ETL_CONFIG
- Integrated Security login
Hope that helps you. If it's to vague, just let me know. I can go more in detail if necessary.
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply