Я пытаюсь программно создать «Выполнение задачи пакета» в SSIS с помощью Visual Basic. Однако я не могу заставить его работать с UseProjectReference = True. Пакет не выходит из строя, но ничего не происходит. Я пропустил какое-то другое свойство? Вот код
Public Sub Main()
Dim ExecResult As DTSExecResult = DTSExecResult.Failure
Dim p As Package = New Package
Dim exec As Executable = p.Executables.Add("STOCK:ExecutePackageTask")
Dim th As TaskHost = CType(exec, TaskHost)
th.Properties("Name").SetValue(th, "Execute Package")
th.Properties("Description").SetValue(th, "Execute Package")
th.Properties("UseProjectReference").SetValue(th, "True")
th.Properties("PackageName").SetValue(th, "Test.dtsx")
th.Properties("ExecuteOutOfProcess").SetValue(th, "False")
ExecResult = p.Execute()
p.Dispose()
Dts.TaskResult = ScriptResults.Success
End Sub
Приведенный ниже код успешно работает, вызывая пакет из файловой системы, однако, как я уже упоминал, мне нужен пакет, вызываемый из проекта.
Public Sub Main()
Dim ExecResult As DTSExecResult = DTSExecResult.Failure
Dim SIFISO_app As Application = New Application
Dim p As Package = New Package
Dim cm_DES As ConnectionManager = p.Connections.Add("FILE")
cm_DES.Name = "local_pkg"
cm_DES.ConnectionString = String.Format("C:\Test.dtsx")
Dim exec As Executable = p.Executables.Add("STOCK:ExecutePackageTask")
Dim th As TaskHost = CType(exec, TaskHost)
th.Properties("Name").SetValue(th, "Execute selectSIFISO Package")
th.Properties("Description").SetValue(th, "Execute selectSIFISO Package")
th.Properties("Connection").SetValue(th, "local_pkg")
th.Properties("ExecuteOutOfProcess").SetValue(th, "False")
ExecResult = p.Execute()
p.Dispose()
Dts.TaskResult = ScriptResults.Success
End Sub