在我試圖執行的SSISDB節點中的一個包中,我有一個包參數和一個項目參數。如何設置項目參數?
我可以通過將ExecutionValueParameterSet提供給execute方法來設置包參數。它是這樣的:
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, er, setValueParameters)
現在,這適用於包參數。但我無法在項目級別上設置參數。
我曾嘗試以下:
package.Parent.Parameters(sp.Name).Set(ParameterInfo.ParameterValueType.Literal, sp.Value)
不過,我仍然得到錯誤的參數丟失。如果在設置它爲假後檢查package.Parent.Parameters(sp.Name).ValueSet
參數。
任何想法?
當你引用'ObjectType'的項目參數,你還在使用值30?它應該是20 – billinkc
啊,你是對的,值應該是20的項目參數,我不應該這樣設置值: package.Parent.Parameters(sp.Name).Set(ParameterInfo.ParameterValueType.Literal, sp.Value) 謝謝! – serializer