Friday, July 17, 2015

Move files from one directory to other using File System Task

Description –  File system task is used to execute operations such as copy, move or delete files and directories from one location to other. We can also set the attributes like hidden, archive, read-only etc of specific files and directories. To perform operations like copying, moving, deleting etc for a file or directory requires a Source and Destination which can be configured by using a File connection manager or by providing a variable that contains the respective path.
Source – It is the location from where you want to move, rename, and copy a file or directory.
Destination – It is the location at which the selected file or directory is moved, renamed, copied.
NOTE :- File system task operates on single file or directory. Therefore, to repeat File system task on multiple files or directories, put it in a Foreach Loop Container and configure it. To learn how to configure Foreach Loop Container, Visit – Implementation of Foreach Loop Container. 
FILE  SYSTEM  TASK  PREDEFINED  SET  OF  OPERATIONS
Operation
Description
COPYDirectoryTo copy a folder from one location to other.
FileCopies a file from one location to other.
DELETEDirectoryTo delete a folder in a specific location.
FileDeletes a file in a specific location.
MOVEDirectoryTo move a folder from one location to other.
FileMoves a file from one location to other.
RENAMEFileRenames a file in a specified location.
CREATEDirectoryCreates a folder in a specified directory.
SET ATTRIBUTESFiles or FolderAttributes of a file or folder includes Normal, Hidden, Read-only, Archive and System.#These attributes can be used in combination except Normal.
Example Scenario: – We will create one package to move a folder from one directory (C:\Chander-Source) to other location (C:\Chander-Destination) using one of the File system task operations (Move directory operation).
STEPS TO FOLLOW:-
Step 1. Open Business Intelligence Studio and Create one package with desired name (cK_File_System_Task.dtsx ).
Step 2. Right click on the Control flow pane and select Variables (we need a variable to store the Source path). Once the window is open, click the Add Variable button and specify the fields as:-
  • Name – Any desired name say Sourcepath.
  • Data Type – String as we have to store the path of a variable.
  • Namespace – User as it is user defined variable. It can be either User or System.
  • Scope – Package level as it will be for whole package.
  • Value – C:\Chander-Source i.e. Path of the Source folder.Variable for File system task
Step 3. Drag and drop the File System task from the toolbox onto Control flow pane.
Step 4. You will see the red icon with a cross as it is not configured yet. Double-click it to open theFile System Task Editor and in General Tab specify the fields as:-
  • Name – Move Folder.
  • Description – Moving a folder from one directory to other.
  • IsSourcePathVariable – True as we have stored the path in a variable named Sourcepath. It can also be either true or false as in the case of IsDestinationPathVariable.
  • SourceVariable – User:Sourcepath from the dropdown box.
Source Connection for File system task
  • Operation – Move directory as we are performing a move operation.
Operation for File system task
  • IsDestinationPathVariable – False as the path is static. It can be either true or false but if it is true then the path will be stored in a variable.
  • DestinationConnection – Choose the destination folder path from the dropdown, where we need to move our selected file (in this case it’s – C:\Chander-Destination).
  • OverwriteDestination – True as file already exists in the directory. If we will choose False for this then we will get the following error message – [File System Task] Error: An error occurred with the following error message: “Cannot create a file when that file already exists”.Destination Connection for File system task

Step 6. Now, click on OK button and execute the package.
Execution for File system taskWith this we completes our implementation of Moving files from one directory or location to other directory or location. I hope this validates your concept on File System Task in SSIS. We can use this File system task for various operations such as Create, delete, move, copy, etc. Your views and comments are valuable.