Sometimes you will find the need to import a file to a variable using SSIS. In this post, I’ll use Script Task to read contents of a flat file into a variable.
I’ve created a file called ‘myfile.txt’ with some random text. I’ll configure script task to read this file into a SSIS variable.
- First create a variable with string data type. I’ll call mine vText.
- Drag a script task onto the control flow. As you would imagine double clicking the script task will open the editor.
- Specify the variable you just created as a ReadWriteVariable.
- Click edit script and use code similar to what you see below:
'initialize StreamReader class for text file
Dim streamReader As New StreamReader("D:\Documents\myfile.txt")
' Read the StreamReader To End and assign to local variable
Dim StreamText As String = streamReader.ReadToEnd()
' assign SSIS variable with value of StreamText local variable.
Me.Dts.Variables("vText").Value = StreamText
To test, I’ll add another script task. This task will show a message box with the contents of our variable. Following is the script i use for message box:
MsgBox(Dts.Variables("vText").Value.ToString)
As you can see I’m reading the file from a static location on my D drive. Most people, however, will use variables or expressions to read from any locations dynamically.