anoopagrwl (AT) gmail (DOT) com wrote:
Quote:
Hello,
i have a problem. i want upload data from .txt file. these files reside
in a folder and i want to upload the data from these file to sql
servers different tables using SSIS.
1. should i use Foreach loop container & using script task in Foreach
Loop container. in which (script) i have to call different child
packages that contains data flow task?
2. or i should use Foreach loop container & using script task in loop
container. i should run different data flow task?
Could u please suggest me? |
Hey friends,
i am new in SSIS field.
finally i found solution for my problem. the solution will as follows
1. in parent package i am using script task in foreach loop container.
in this i read a file name in a variable i.e. "ParentPackageFileName".
and based on i am calling different child package. using script. and
assign a parent variable value in child package variable.
Public Sub Main()
'
' Add your code here
'
MsgBox(Dts.Variables("ParentPkgFileName").Value.To String())
If (Dts.Variables("ParentPkgFileName").Value.ToString () =
"C:\Files\1.txt") Then
MsgBox(Dts.Variables("ParentPkgFileName").Value.To String())
Dim app As Application = New Application()
Dim package As Package = app.LoadPackage("C:\Documents and
Settings\ak25114\My Documents\Visual Studio
2005\Projects\PackgeExcution\PackgeExcution\Packag eCalled.dtsx",
Nothing)
package.Variables("ChildPkgFileName").Value =
Dts.Variables("ParentPkgFileName").Value
MsgBox(package.Variables("ChildPkgFileName").Value .ToString())
Dts.TaskResult = package.Execute()
ElseIf (Dts.Variables("ParentPkgFileName").Value.ToString () =
"C:\Files\3.txt") Then
MsgBox(Dts.Variables("ParentPkgFileName").Value.To String())
Dim app As Application = New Application()
Dim package As Package = app.LoadPackage("C:\Documents and
Settings\ak25114\My Documents\Visual Studio
2005\Projects\PackgeExcution\PackgeExcution\Packag eCalledFile3.dtsx",
Nothing) 'CType(DBNull.Value, IDTSEvents))
package.Variables("ChildPkgFileName3").Value =
Dts.Variables("ParentPkgFileName").Value
Dts.TaskResult = package.Execute()
ElseIf (Dts.Variables("ParentPkgFileName").Value.ToString () =
"C:\Files\7.txt") Then
MsgBox(Dts.Variables("ParentPkgFileName").Value.To String())
Dim app As Application = New Application()
Dim package As Package = app.LoadPackage("C:\Documents and
Settings\ak25114\My Documents\Visual Studio
2005\Projects\PackgeExcution\PackgeExcution\Packag eCalledFile7.dtsx",
Nothing)
package.Variables("ChildPkgFileName7").Value =
Dts.Variables("ParentPkgFileName").Value
Dts.TaskResult = package.Execute()
ElseIf (Dts.Variables("ParentPkgFileName").Value.ToString () =
"C:\Files\4.txt") Then
MsgBox(Dts.Variables("ParentPkgFileName").Value.To String())
Dim app As Application = New Application()
Dim package As Package = app.LoadPackage("C:\Documents and
Settings\ak25114\My Documents\Visual Studio
2005\Projects\PackgeExcution\PackgeExcution\Packag eCalledFile4.dtsx",
Nothing)
package.Variables("ChildPkgFileName4").Value =
Dts.Variables("ParentPkgFileName").Value
Dts.TaskResult = package.Execute()
ElseIf (Dts.Variables("ParentPkgFileName").Value.ToString () =
"C:\Files\9.txt") Then
MsgBox(Dts.Variables("ParentPkgFileName").Value.To String())
Dim app As Application = New Application()
Dim package As Package = app.LoadPackage("C:\Documents and
Settings\ak25114\My Documents\Visual Studio
2005\Projects\PackgeExcution\PackgeExcution\Packag eCalledFile9.dtsx",
Nothing)
package.Variables("ChildPackageFileName9").Value =
Dts.Variables("ParentPkgFileName").Value
Dts.TaskResult = package.Execute()
End If
Dts.TaskResult = Dts.Results.Success
End Sub