如何设置SSIS参数的值

时间:2014-02-14 22:53:35

标签: c# .net ssis

我正在尝试通过托管代码执行SSIS包,我想在包中设置参数的值:

PackageInfo ssisPackage = ssisServer.Catalogs["SSISDB"].Folders["SWIS5_PersonImport"].Projects["SWIS5_PersonImport"].Packages["EducatorsUploader.dtsx"];
ssisPackage.Parameters["FlatFile_Path"].Set(ParameterInfo.ParameterValueType.Literal, parameter.FilePath);

上面的代码显示了我的尝试方式并且它不起作用,我找到了预览版本的文档,其中包有变量集合,但我找不到所述集合,所以有人有任何想法如何实现这一目标?

由于

1 个答案:

答案 0 :(得分:0)

如果是包参数,则需要以这种方式设置值:

Dim setValueParameters As New ObjectModel.Collection(Of PackageInfo.ExecutionValueParameterSet)
Dim exp As New PackageInfo.ExecutionValueParameterSet
                exp.ObjectType = 30
                exp.ParameterName = sp.Name
                If sp.Value IsNot Nothing Then
                    Select Case sp.TypeCode
                        Case TypeCode.String
                            exp.ParameterValue = sp.Value
                        Case Else
                            exp.ParameterValue = Convert.ChangeType(sp.Value, sp.TypeCode)
                    End Select
                End If

                setValueParameters.Add(exp)

package.Execute(use32BitRuntime, nothing, setValueParameters