While deploying the packages to the production environment, it is a bad practice to edit the package configuration settings in BIDS. If you place connection manager details inside the package, then you have to edit them using BIDS only. To avoid these circumstances, we had SSIS Package Configuration settings. You can use them to save the connection manager details, variables, values, etc. Here, we show you the list of available SSIS Package Configurations and its description.
By default, the SSIS Package Configuration setting is not available in package designers. For instance, if you right-click on the control flow region, it will open the context menu. From the list, you can see there is no Package Configuration.. option.
To get that SSIS Package Configuration option, Please navigate yourself to Project Menu and select Convert to Package Deployment Model sub-menu.
Once you select that menu, a new pop-up window will display, as we showed below. Click the OK button
After you click the OK button, SSIS will convert the current package into the deployment model. Click OK to close the conversion window.
Now, if you right-click on the control flow region, the context menu will display the Package Configurations.. option. You can select this option to add the package configurations.
Following are the list of Configuration types available in SQL Server Integration Services:
- XML Configuration File: This type will save the configuration settings in an XML file. It is the most common approach while deploying the report. Please refer to SSIS Package Configuration using XML Configuration File, and Part 2 to understand the XML Configurations.
- Environment Variable: It allows you to use the Environment variables to save the configuration settings, or package variables values. Please refer to SSIS Package Configuration Using Environment Variable article to understand the settings.
- Registry Entry: You can also save the configuration settings in Registry. Visit SSIS Package Configuration using Registry Entry to know the registry settings.
- Parent Package Variable: This type will save the configuration settings in a variable. You can use this variable to update properties in child packages. Visit the Parent Child Package
- SQL Server: Configuration settings saved in a table present in the SQL Server. Please see SSIS Package Configuration using SQL Server to know the SQL settings.
Sample package for SSIS Package Configuration
We are going to use this package in the series of articles that explains each and individual package configuration type in SSIS. Before we get into the SSIS Package Configuration demo, let me show you the table that we are going to use. It is the Duplicate Employee Table in SQL Server.
As you can see from the below screenshot, it is a simple package that contains one Execute SQL Task and Script Task. Please refer Execute SQL Task in SSIS Single Rowset article to learn the package configurations.
Let me show you the configuration settings inside the Execute SQL Task. Here, we selected the Connection Type as OLE DB Connection, which is connecting to the SQL Tutorial database. Next, we are using the Direct Input as the SQL statement and write the custom SQL command. Lastly, we changed the ResultSet from NONE (default) to Single row.
Let me click the … button to show the custom SQL Query.
-- SSIS Package Configuration Example SELECT [FirstName] ,[LastName] ,[Education] ,[Occupation] ,[Sales] ,[HireDate] ,[YearlyIncome] FROM [DuplicateEmployee] WHERE [YearlyIncome] = ? AND [Education] = ?
Under the Parameter Mapping tab, we are assigning the variables to the parameters. It means first question marks beside the Yearly Income assigned to Input Yearly Income variable, and the other question mark to Input education variable.
As you can see from the below screenshot, we are assigning the previously created variables to all the columns that are returned by the SQL statement.
I think I forgot to show the existing variables. Let me close the Execute SQL Task editor, and right-click on the design to select the variables.. option. From the below screenshot you can see the default values of InputEducation= Masters Degree, and InputYearlyIncome = 90000
C# code inside the Script Task is as shown below.
Let us Run the SSIS Package Configuration package to see the result.