One problem with a source or destination Text File connection, is that your file name
can change. Editing the package every time you run it can be tedious and slow.
The scripts below demonstrate how to change the file name using an ActiveX script.
Example 1: Changing the file name to a date derived value
Dim oPKG Dim cn Set oPKG = DTSGlobalVariables.Parent Set cn = oPKG.Connections("Text File (Source)") cn.DataSource = "C:File_" & Year(Now()) & ".dat"
Assuming the year is 1999 (which it is), the script above will change the file name for the connection called Text File (Source) to C:File_1999.dat.
Example 2: Changing the file name to a Global Variable value
Dim oPKG Dim cn Set oPKG = DTSGlobalVariables.Parent Set cn = oPKG.Connections("Text File (Source)") cn.DataSource = DTSGlobalVariables("Global_Variable_Name").Value
This will change the file name for the connection called Text File (Source) to the value of the package Global Variable called Global_Variable_Name.
Example 3: Changing the file name to a value held within a SQL table
Dim cnADODB Dim rs Dim strFileName Dim oPKG Dim cn Set cnADODB = CreateObject("ADODB.Connection") cnADODB.Open "Driver={SQL Server};Server=(LOCAL);Database=master" Line split for display purposes Set rs = cnADODB.Execute("SELECT value FROM master.dbo.tbVariables WHERE variable = 'User_Variable_Name'") strFileName = "C:" & rs("value") rs.Close cnADODB.Close Set cnADODB = Nothing Set oPKG = DTSGlobalVariables.Parent Set cn = oPKG.Connections("Text File (Source)") cn.DataSource = strFileName
See User Variables for a full explanation of storing values in SQL tables.