The purpose of this tutorial is to provide detailed steps on how to create a SSIS Package. The package given below reads the data from a source tab delimited text file and based on certain conditions, saves the output in two separate Excel Output Files. The output Excel files also have the same header as the input text file. The structure and data for the source input file is given below:
EmpID | EmpName | DOB | DOJ | Salary |
1 | User1 | 1/1/1976 | 1/4/2000 | 20000 |
2 | User2 | 1/2/1976 | 1/5/2000 | 20000 |
3 | User3 | 1/3/1976 | 1/6/2000 | 20000 |
4 | User4 | 1/4/1976 | 1/7/2000 | 30000 |
5 | User5 | 1/5/1976 | 1/8/2000 | 20000 |
6 | User6 | 1/6/1976 | 1/9/2000 | 40000 |
7 | User7 | 1/7/1976 | 1/10/2000 | 20000 |
8 | User8 | 1/8/1976 | 1/11/2000 | 35000 |
9 | User9 | 1/9/1976 | 1/12/2000 | 20000 |
10 | User10 | 1/10/1976 | 1/6/2000 | 20000 |
1. Open business intelligence development studio.
2. Click on File-> New -> Project.
3. Select Integration service project in new project window and give the appropriate name and location for project. And click ok.
4. The new project screen contains the following:
5. Right click on the Connection Manager Tab, click on new FLAT File Connection Menu Item.
6. Connection manager editor opens up which contains 4 tabs, General, Columns, Advanced and Preview.
7. Click on OK. It will create a flat file connection manager for your source file.
8. Now Drag Data Flow Task from the Toolbox into the Control Flow Container.
9. Double Click on the Data Flow Task. It will show Data flow Container tab for selected Data Flow Task. You can see three item categories in Toolbox.
10. Drag a Flat file Source Component from Data Flow Sources into Data Flow Container window.
11. Double Click on the Flat File Source Component, it will display flat File source Editor. The window contain three tabs:
null
values, select “Retain null values from Source as null values in the data flow” checkbox. 12. Drag and drop a Conditional Split Component from Data Flow Transformations Tab into Data flow Task Container window. Drag and Connect the success output (which is shown by Green arrow) of Flat File Source Component to Conditional Split Component.
13. Double click on the Conditional Split component, it will open Conditional Spilt Component editor window. Here user can specify the condition(s) as per the requirement and click ok. For example:
HigherSalary
: [Salary] > 20000 (Redirect records if salary is greater than 20000)LowerSalary
: For rest of the records14. Drag and drop Excel Destination component from Data Destinations tab into Data Flow Task Container. Connect the success arrow of the Conditional Split Component to Excel Destination, Input Output selection window will be popped up.
15. In the Input Output Selection popup window, select appropriate conditional output for example “HigherSalary
” conditional output and click ok.
16. Double Click on the Excel Destination Component which will open Excel Destination Editor Window. Click on the new Ole DB Connection Manager Button.
17. Select Destination File location and the appropriate Excel Sheet Name where you want to insert the success output data with salary values higher than 20000.
18. Click on the mapping tab and map the appropriate input columns with output columns.
19. On click of OK, error icon is shown in the destination excel file component and it displays the message “Cannot Convert between Unicode and Non-Unicode string data types”.
20. To resolve this issue, we need to insert a Data Conversion Transformation Component between Conditional Split and Excel Destination Component.
21. Double Click on the Data Conversion Component, it will open Data Conversion Transformation editor. Using this component, convert input data types to required output data types.
22. Click OK and connect the success arrow of Data Conversion component into Excel Destination Component. Double click on Excel Data Conversion Component and click on the mapping tab and map the output of Data Conversion Component to input of Excel Destination Component and click ok.
23. Rename the Excel Destination Component as “Records with Salary > 20000
”
24. Now add one more Data Conversion Transformation Component and connect the second success output of Conditional Split to it. Do the necessary data type conversions. Add one more Excel Destination Component and rename it as “Remaining Records”. Create a new connection manager and configure it to point to the second Output File. Connect the input of the newly added Data Conversion Component to it and do the mapping as required.
25. Now the package is ready to be executed. Go to the Solution Explorer and right click on the package and select “Execute Package". If all components turn “GREEN
”, it means package has run successfully, if there is any error, the component which has failed to execute will be shown in “RED
” Color. We can see the package execution steps in the “Progress” tab.
26. Once you run the package, data will be saved in the destination output files as per the condition specified in the Conditional Split Component.