我正在尝试通过托管代码执行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);
上面的代码显示了我的尝试方式并且它不起作用,我找到了预览版本的文档,其中包有变量集合,但我找不到所述集合,所以有人有任何想法如何实现这一目标?
由于
答案 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